Xref: utzoo comp.sys.ibm.pc:54743 comp.os.msdos.apps:1415 Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!uwm.edu!linac!midway!valley From: valley@uchicago (Doug Dougherty) Newsgroups: comp.sys.ibm.pc,comp.os.msdos.apps Subject: Re: Extended/Expanded Memory Question Message-ID: Date: 24 Mar 91 13:20:58 GMT References: <1991Mar24.033828.21204@wlbr.imsd.contel.com> Sender: news@midway.uchicago.edu (News Administrator) Organization: University of Chicago Lines: 47 mcc@wlv.imsd.contel.com (Merton Campbell Crockett) writes: >This will seem like a terribly naive question to many of you--it does to >me; however, I would like to understand the difference between extended and >expanded memory. >I'm sure part of my problem in understanding the documentation provided with >my 80286 (home) and 80486 (office) systems is my background. I am and have >been a systems programmer on NCR Century series, DECSystem 10, PDP11 series, >and VAX series computers. And, with the exception of NCR all have memory >management hardware managed by the various operating systems that I've used. >In this environment, programs can be loaded anywhere in physical memory but >from the program's perspective it's address space always begins at location >0 in its logical address space. (For the nit pickers, thats not entirely >correct but will suffice for this discussion.) In writing device drivers, >I simply remap the buffers involved into the device drivers address space >and either use programmed I/O to transfer the data or set the devices hard- >ware registers to access the physical memory associated with the logical >memory address of the buffer for a DMA operation. >Now, I have this 80486 system with 4 Mbytes of memory. I have MS-DOS 4.01 >as an operating system but it only seems to know how to deal with the first >640 Kbytes of memory and the "device" address space between 640K and 1M bytes. >To support the various devices and a 210 Mbyte disk, MS-DOS seems to load >a significant number of system programs in memory significantly reducing >the 640Kbytes it knows about--to the extent I have programs complaining about >insufficient space to perform some of their operations. >Now with the memory management logic in the 80486 chip it seems that there >should be no problem loading these extensions to the operating system into >the memory above 1 Mbyte and have them execute from there. Or for that, >load a program anywhere that it will fit and let it execute from there. >Now, given the above do I want extended or expanded memory? One memory schema >allows me to map memory in 64Kbyte windows but doesn't really allow me to >execute code from that segment--or do I have that wrong? Some application >software contains logic to utilize memory above 1 Mbyte--do I have to check >out each program and compute how much space it will utilize to install the >memory management software? >I'm sooooo confused! It *is* confusing. I've explained the whole schpiel a million times to my co-workers, without ever really feeling that any of it took. Just get QEMM and let it do the dirty work...