In DOS Memory Administration
In DOS memory administration, extended memory refers to memory above the first megabyte (220 bytes) of address space in an IBM Pc or suitable with an 80286 or later processor. The term is mainly used beneath the DOS and Home windows operating techniques. DOS packages, running in real mode or virtual x86 mode, can not directly entry this memory, however are able to do so via an software programming interface (API) known as the Prolonged Memory Specification (XMS). This API is applied by a driver (such as HIMEM.SYS) or the operating system kernel, which takes care of memory administration and copying memory between standard and prolonged memory, by temporarily switching the processor into protected mode. On this context, the time period "prolonged memory" could check with either the whole of the extended memory or solely the portion obtainable through this API. Prolonged memory may also be accessed immediately by DOS programs operating in protected mode utilizing VCPI or DPMI, two (different and incompatible) strategies of utilizing protected mode underneath DOS.
Prolonged memory shouldn't be confused with expanded memory (EMS), an earlier methodology for expanding the IBM Laptop's memory capability beyond 640 kB (655,360 bytes) using an expansion card with financial institution switched memory modules. Because of the accessible assist for expanded memory in fashionable purposes, machine drivers had been developed that emulated expanded memory using extended memory. Later two additional strategies were developed allowing direct entry to small portions of additional memory above 640 KB from real mode. One of these is referred to because the high memory space (HMA), consisting of the primary almost 64 KB of extended memory, and the other is referred to because the upper memory space (UMA; also known as upper memory blocks or UMBs), situated within the deal with vary between 640 KB and 1 MB which the IBM Pc designates for hardware adapters and ROM. On x86-based mostly PCs, prolonged memory is simply out there with an Intel 80286 processor or increased, such because the IBM Pc AT.
Solely these chips can straight handle greater than 1 megabyte of RAM. The sooner 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 under 1 MB. On a 286 or higher Computer outfitted with more than 640 kB of RAM, the additional memory would generally be re-mapped above the 1 MB boundary, because the IBM Computer architecture reserves addresses between 640 kB and 1 MB for system ROM and peripherals. Prolonged memory isn't accessible in real mode (aside from a small portion called the excessive memory area). Solely applications executing in protected mode can use extended memory directly. A supervising protected-mode working system such as Microsoft Windows manages utility programs' entry to memory. The processor makes this memory obtainable by means of the worldwide Descriptor Table (GDT) and one or more Local Descriptor Memory Wave Tables (LDTs).
The memory is "protected" in the sense that memory segments assigned a neighborhood descriptor cannot be accessed by one other program because that program uses a different LDT, and memory segments assigned a world descriptor can have their entry rights restricted, causing a processor exception (e.g., Memory Wave a basic protection fault or GPF) on violation. This prevents packages running in protected mode from interfering with each other's memory. Extended memory went unused at first as a result of no software program ran within the 80286's protected mode. By contrast, the trade shortly adopted 1985's expanded memory customary, which works with all PCs no matter processor. A protected-mode operating system such as Microsoft Windows may also run actual-mode programs and supply expanded memory to them. The DOS Protected Mode Interface (DPMI) is Microsoft's prescribed methodology for a DOS program to entry extended Memory Wave Experience beneath a multitasking setting. The Extended Memory Specification (XMS) is the specification describing the usage of IBM Pc prolonged memory in actual mode for storing data (but not for working executable code in it).
Memory is made available by prolonged memory supervisor (XMM) software equivalent to HIMEM.SYS. XMS model 2.0, launched in July 1988, allowed for up to sixty four MB of memory. With XMS version 3.Zero this elevated to 4 GB (232 bytes). 4 TB (4 terabytes) however limited by the specification to 4 GB. 4 GB is the address range of the 80386 and the 80486, the only 32-bit Intel x86 CPUs that existed when XMS 3.Zero was revealed in 1991.) XMS 3.Zero retains the original XMS 2.0 API features with their original 64 MB limit however provides new "tremendous prolonged memory" features that support 4 GB of prolonged memory (minus the first 1 MB) and may be known as only with a 32-bit CPU (since these "tremendous" functions use 32-bit CPU registers to cross values). To differentiate between the presumably completely different amount of memory that might be obtainable to purposes, relying on which version of the specification they had been developed to, the latter may be known as super prolonged memory (SXMS). The prolonged memory manager can be responsible for managing allocations in the high memory area (HMA) and the higher memory space (UMA; additionally referred to as higher memory blocks or UMBs). In practice the upper memory space will probably be supplied by the expanded memory supervisor (EMM), after which DOS will attempt to allocate all of them and manage them itself. Mendelson, Edward (1989-12-12). "A Slot Stuffed with RAM". Laptop Journal. Vol. 8, no. 21. Ziff Davis Publishing Co. pp.