Xref: utzoo comp.sys.ibm.pc.misc:7787 comp.os.msdos.apps:1413 Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!usc!elroy.jpl.nasa.gov!mahendo!wlbr!news From: mcc@wlv.imsd.contel.com (Merton Campbell Crockett) Newsgroups: comp.sys.ibm.pc.misc,comp.os.msdos.apps Subject: Extended/Expanded Memory Question Message-ID: <1991Mar24.033828.21204@wlbr.imsd.contel.com> Date: 24 Mar 91 03:38:28 GMT Sender: news@wlbr.imsd.contel.com (news) Organization: Contel Federal Systems Lines: 42 Nntp-Posting-Host: wlv.imsd.contel.com 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! Merton