Operating Systems - DOS - Memory

Introduction to memory

Memory is an area where programs are stored and from where they can be executed.

A PC compatible computer has three types of memory:

  • conventional
  • extended
  • paged

The amount of memory present (and available) in a system can be found by running the following command: "mem" (or "mem /c |more" for more detailed information).

Conventional memory

conventional memory is that part of memory where programs may load without any specific instructions. The amount of conventional memory varies from 256 KB to 640 KB (on all recent computers: 386, 486, Pentium, etc.).

The amount of memory available is the memory remaining after DOS has been loaded into memory (i.e. the operating system, device drivers and all commands loaded from the config.sys and autoexec.bat).

Extended memory

Extended memory enables the system to access more memory. This type of memory is available on computers equipped with a 80286 type processor or higher.

Programs normally only recognise conventional memory addresses, to access the storage area located beyond the 640 KB, programs need specific instructions. A program that manages access to extended memory, for example it prevents two programs from using the same area of memory at the same time. This program is called "extended memory manager".

MS-DOS comes with the standard extended memory manager called HIMEM.SYS (it is also found in Windows 98). It is loaded in the config.sys by adding the line:


where path is the access path to the file.

Paged memory

Another method of accessing memory beyond the first 640 KB is to use paged memory. Some programs (few nowadays) are optimized to use this type of memory.

As with extended memory, this type of memory requires a program to manage it, it is called "paged memory manager". Programs designed to use this type of memory cannot access it directly: the memory manager must copy <a href="/contents/systemes/memoire.php3">
sections</a> of 16 KB of memory (called pages) into an area (called frame segment) located in the high memory area. This type of memory was developed before extended memory, this memory is thus slower and only allows usage of one limited portion of memory at any given time.

High memory

Many systems have 384 KB of high memory (HMA, High Memory Addresses), located directly after the 640 KB of conventional memory. This area of memory can be used by hardware. Areas not used by hardware are called "upper memory blocks" (UMB), they allow programs to be run in paged memory.

Ask a question
CCM is a leading international tech website. Our content is written in collaboration with IT experts, under the direction of Jean-François Pillou, founder of CCM.net. CCM reaches more than 50 million unique visitors per month and is available in 11 languages.


This document, titled « Operating Systems - DOS - Memory », is available under the Creative Commons license. Any copy, reuse, or modification of the content should be sufficiently credited to CCM (ccm.net).