Previous page Contents Next page
Using your PC Card

5.12 Using extended/expanded memory from DOS

This section explains the way PCs and the PC card handle memory beyond the standard 640K, and the different terms used by PC software to describe different areas of memory. 

Modern version of DOS shield the user from memory allocation matter quite well, so you shouldn't need to read this section unless interested, or in case of difficulty. 

If you have more than 1MB of RAM you will need either a memory manager to access the full memory. All modern version of DOS (5 or later) include such software, and numerous third-party utilities also exist. The DOS installation process should install this into your CONFIG.SYS file for you. 

The rest of this section provides technical information about PC memory handling, and examples of manual CONFIG.SYS settings for typical extended memory use. 
 

  • Conventional memory is memory from 0 to 640K (00000h to 9FFFFh). This is the RAM used for DOS and for programs.

  •  
  • Upper memory is memory between 640K and 1MB (A0000h to FFFFFh). This area is used for video memory (A0000h to BFFFFh – although it is not all used if you do not use VGA graphics modes), and for the BIOS (F4000h to FFFFFh). 

  •  
  • High memory is the first 64K-16bytes above 1MB (100000h to 10FFF0h). This can be accessed only if you have more than 1MB of RAM, and needs a memory manager such as HIMEM.SYS which can control the 'a20' address line.

  •  
  • Extended memory is memory above 1MB. This obviously only exists on cards with more than 1MB of RAM, and needs a memory manager to make it available to programs that can use it.

  •  
  • Expanded memory is not directly acessible by the CPU – it can only be accessed by additional hardware, although some memory managers (Expanded Memory eMulators) can make extended memory available as expanded memory to programs that need it.
If you have a version of DOS earlier than 5 and more than 1MB of RAM you will need a third party memory manager, or to upgrade to either: 
  • MS-DOS 5 and 6, PC-DOS 6, which have two primary memory managers: HIMEM.SYS and EMM386.EXE. HIMEM.SYS is an extended memory manager which simply allows the RAM above 1M to be accessed. EMM386.EXE allows this memory to be used as expanded memory and/or it allows upper memory blocks to be used for DOS and its device drivers.

  •  
  • DR-DOS 5 or 6/Novell DOS 7, which have one primary memory manager: EMM386.SYS which does all of the above.
Memory managers must be installed before other device drivers in the CONFIG.SYS file. See your DOS manual for details on how to do this. Versions of DOS before version 5 do not include memory managers, although Windows 3.0 or later comes with HIMEM.SYS.

Example CONFIG.SYS settings for extended memory use

Use these to enable extended memory and load DOS into upper memory, thus maximizing the amount of conventional memory available for programs. 
  • Note that your installation program will make these settings for you. If you are unsure about what you are doing it is better to stick with the default settings.
DR-DOS 5 or 6:  

DEVICE=EMM386 /FRAME=NONE /ROM=F400-ffff / BDOS=AUTO HIDOS=ON 

MS-DOS 5:  

DEVICE=HIMEM.SYS 

DEVICE=EMM386.EXE i=C000-F3FF noems  

DOS=HIGH,UMB 

The above assume that no expanded memory is required. 



Aleph One Ltd. 44-46
 
Previous page Contents Next page