In DOS Memory Management
In DOS memory management, extended memory refers to memory above the primary megabyte (220 bytes) of address area in an IBM Pc or appropriate with an 80286 or later processor. The time period is mainly used beneath the DOS and Home windows working systems. DOS programs, running in actual mode or digital x86 mode, cannot straight access this memory, but are ready to take action by way of an utility programming interface (API) called the Extended Memory Specification (XMS). This API is carried out by a driver (such as HIMEM.SYS) or the operating system kernel, which takes care of memory management and copying memory between typical and prolonged memory, by temporarily switching the processor into protected mode. On this context, the term "prolonged memory" may seek advice from either the whole of the prolonged memory or only the portion available by means of this API. Prolonged memory may also be accessed straight by DOS applications operating in protected mode using VCPI or DPMI, two (different and incompatible) strategies of utilizing protected mode under DOS.
Prolonged memory shouldn't be confused with expanded memory (EMS), an earlier technique for expanding the IBM Laptop's memory capacity past 640 kB (655,360 bytes) using an expansion card with financial institution switched memory modules. Because of the accessible support for expanded memory in well-liked functions, device drivers had been developed that emulated expanded memory utilizing prolonged memory. Later two extra strategies had been developed permitting direct access to small parts of additional memory above 640 KB from actual mode. One of those is referred to as the excessive memory space (HMA), consisting of the primary almost sixty four KB of prolonged memory, and the other is referred to as the higher memory area (UMA; also referred to as higher memory blocks or UMBs), positioned within the deal with range between 640 KB and 1 MB which the IBM Laptop designates for hardware adapters and ROM. On x86-based mostly PCs, prolonged memory is simply available with an Intel 80286 processor or increased, Memory Wave such because the IBM Pc AT.
Solely these chips can immediately address greater than 1 megabyte of RAM. The earlier 8086/8088 processors can make use of greater than 1 MB of RAM if one employs particular hardware to make selectable components of it seem at addresses under 1 MB. On a 286 or higher Computer equipped with more than 640 kB of RAM, the extra memory would generally be re-mapped above the 1 MB boundary, for the reason that IBM Pc structure reserves addresses between 640 kB and 1 MB for system ROM and peripherals. Extended memory just isn't accessible in real mode (except for a small portion called the high memory space). Solely purposes executing in protected mode can use extended memory instantly. A supervising protected-mode working system corresponding to Microsoft Windows manages application programs' entry to memory. The processor makes this memory obtainable by means of the global Descriptor Table (GDT) and one or more Local Descriptor Tables (LDTs).
The memory is "protected" in the sense that memory segments assigned a neighborhood descriptor cannot be accessed by one other program as a result of that program makes use of a special LDT, and memory segments assigned a global descriptor can have their entry rights restricted, causing a processor exception (e.g., a common safety fault or GPF) on violation. This prevents programs running in protected mode from interfering with one another'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 business quickly adopted 1985's expanded memory commonplace, which works with all PCs no matter processor. A protected-mode working system equivalent to Microsoft Home windows may also run real-mode programs and supply 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 setting. The Prolonged Memory Specification (XMS) is the specification describing the usage of IBM Pc prolonged memory in real mode for storing knowledge (however not for working executable code in it).
Memory is made accessible by prolonged memory supervisor (XMM) software program resembling HIMEM.SYS. XMS version 2.0, launched in July 1988, allowed for as much as 64 MB of memory. With XMS version 3.0 this increased to four GB (232 bytes). 4 TB (4 terabytes) however restricted by the specification to 4 GB. Four GB is the tackle vary of the 80386 and the 80486, the only 32-bit Intel x86 CPUs that existed when XMS 3.0 was printed in 1991.) XMS 3.Zero retains the unique XMS 2.Zero API functions with their authentic 64 MB limit but provides new "tremendous prolonged memory" capabilities that help four GB of prolonged memory (minus the first 1 MB) and MemoryWave Guide can be called solely with a 32-bit CPU (since these "super" functions use 32-bit CPU registers to go values). To differentiate between the presumably different amount of memory that is perhaps out there to functions, depending on which model of the specification they have been developed to, the latter could also be known as super prolonged memory (SXMS). The prolonged memory manager can be accountable for managing allocations in the high memory area (HMA) and the higher memory space (UMA; also referred to as upper memory blocks or UMBs). In practice the upper memory space will probably be provided by the expanded memory supervisor (EMM), after which DOS will try to allocate them all and manage them itself. Mendelson, Edward (1989-12-12). "A Slot Full of RAM". Computer Magazine. Vol. 8, Memory Wave no. 21. Ziff Davis Publishing Co. pp.