Extended memory
From Wikipedia, the free encyclopedia
Extended memory refers to memory above the first megabyte of address space in an IBM PC with an 80286 or later processor.
On x86-based PC's, extended memory is only available with an Intel 80286 processor or higher. Only these chips can address more than 1 MB 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, but this does not constitute extended memory as defined in this article.
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 mandates a 384 KB "hole" in memory between the 640 KB and 1 MB boundaries. This way all of the additional memory would be available to programs running in Protected mode. Even without such remapping, machines with more than 1 MB of RAM would have access to memory above 1 MB.
Extended memory is available in real mode only through EMS, UMB, XMS, or HMA; only applications executing in protected mode can use extended memory directly. In this case, the extended memory is provided by a supervising protected-mode operating system such as Microsoft Windows. The processor makes this memory available through the Global Descriptor Table and one or more Local Descriptor Tables (LDTs). The memory is "protected" in the sense that memory segments assigned a local descriptor cannot be accessed by another program because that program uses a different LDT, and memory segments assigned a global descriptor can have their access rights restricted, causing a hardware trap (typically a General Protection Fault) on violation. This prevents programs running in protected mode from interfering with each other's memory.
A protected-mode operating system such as Windows can also run real-mode programs and provide expanded memory to them. The DOS Protected Mode Interface is Microsoft's prescribed method for an MS-DOS program to access extended memory under a multitasking environment.
[edit] Extended Memory Specification
Extended Memory Specification or XMS is the specification describing the use of IBM PC extended memory in real mode for storing data (but not for running executable code in it). Memory is made available by extended memory manager (XMM) software such as HIMEM.SYS. The XMM functions are accessible through interrupt 2Fh. XMS should not be confused with the somewhat similar EMS (expanded memory specification).
[edit] See also
- Unreal mode
- Conventional memory
- Upper Memory Area (UMA)
- Expanded memory (EMS)
- High Memory Area (HMA)
[edit] References
- This article was originally based on material from the Free On-line Dictionary of Computing, which is licensed under the GFDL.
- Microsoft, Lotus, Intel, and AST Research (July 19, 1988). eXtended Memory Specification (XMS), ver 2.0.
- Microsoft, Lotus, Intel, and AST Research (January 1991). eXtended Memory Specification (XMS), ver 3.0.