Parts of system memory

 

 

Conventional memory: Memory needed by all and any programs to load.

It starts at 00000h to 9FFFFh.The first 640KB of system memory is referred to as Conventional memory. Programs without a little help from special software cannot access memory other than in this area. Special software include himem.sys,emm386.exe and the like. A decade ago IBM decided to isolate some amount of memory for system functions from memory for user programs which leaded to all the confusion inside the 1MB available. Loading a minimal dos startup disk and a few essential drivers will cost a good 100kb of cm.So a hack was introduced my MS to enable loading a few drivers into HMA.

Upper memory Area (UMA): Dos can be made to load itself here later on and save a lot of space.

It starts at A0000h to FFFFFh.This is the next 384kb of memory left inside the 1mb barrier.It is reserved for use by system devices and for special uses such as ROM shadowing and mainly for drivers.Hi

High memory Area (HMA): Upper and High memory area are not the same.

The first 64kb of 2nd mb of system memory.The only part of extended memory that is accessible in real mode.Real mode is the mode used in single tasking environments such as for loading drivers and right after booting. Whereas protected mode is when operating systems are loaded and special software are used to access extended memory area.HMA extends from 100000h to 10FFEFh.

Extended memory: accessible using emm386

The rest of the memory that can be used after an extended memory manager or protected mode driver such as cwsdpmi is loaded.DPMI is for DOS Protected mode Interface which basically gives access to extended memory.It starts at the end of HMA (10FFF0h) and extends to end of system memory address.

 

 

Go Back