Extended memory
This article includes a improve this article by introducing more precise citations. (June 2016) ) |
In
Extended memory can also be accessed directly by DOS programs running in protected mode using VCPI or DPMI, two (different and incompatible) methods of using protected mode under DOS.
Extended memory should not be confused with expanded memory (EMS), an earlier method for expanding the IBM PC's memory capacity beyond 640 kB (655,360 bytes) using an expansion card with bank switched memory modules. Because of the available support for expanded memory in popular applications, device drivers were developed that emulated expanded memory using extended memory. Later two additional methods were developed allowing direct access to a small portion of extended memory from real mode. These memory areas are referred to as the high memory area (HMA) and the upper memory area (UMA; also referred to as upper memory blocks or UMBs).
Overview
On x86-based PCs, extended memory is only available with an Intel 80286 processor or higher. Only these chips can address more than 1 megabyte of RAM. The earlier 8086/8088 processors can make use of more than 1 MB of RAM if one employs special hardware to make selectable parts of it appear at addresses below 1 MB.
On a 286 or better PC equipped with more than 640 kB of RAM, the additional memory would generally be re-mapped above the 1 MB boundary, since the IBM PC architecture reserves addresses between 640 kB and 1 MB for system ROM and peripherals.
Extended memory is not accessible in
A protected-mode operating system such as Microsoft Windows can also run real-mode programs and provide expanded memory to them. The DOS Protected Mode Interface (DPMI) is Microsoft's prescribed method for a DOS program to access extended memory under a multitasking environment.
Extended Memory Specification (XMS)
The Extended Memory Specification (XMS) is the specification describing the use of
XMS version 2.0, released in July 1988, allowed for up to 64 MB of memory, with XMS version 3.0 this increased to 4 GB (232 bytes). To differentiate between the possibly different amount of memory that might be available to applications, depending on which version of the specification they were developed to, the latter may be referred to as super extended memory (SXMS).
The extended memory manager is also responsible for managing allocations in the high memory area (HMA) and the upper memory area (UMA; also referred to as upper memory blocks or UMBs). In practice the upper memory area will be provided by the expanded memory manager (EMM), after which DOS will try to allocate them all and manage them itself.
See also
- DOS memory management
- Conventional memory
- Expanded memory (EMS)
- High memory area (HMA)
- Upper memory area (UMA)
- Global EMM Import Specification(GEMMIS)
- Unreal mode
References
- Specifications
- Microsoft, Lotus, Intel, and AST Research (1988-07-19). eXtended Memory Specification (XMS), version 2.0.
- Microsoft, Lotus, Intel, and AST Research (January 1991). eXtended Memory Specification (XMS), version 3.0.
- Microsoft Knowledge Base
- A General Tutorial on the Various Forms of Memory
- Overview of Memory-Management Functionality in MS-DOS
- Microsoft Diagnostic Utility: Definition of SXMS