In DOS Memory Administration
In DOS Memory Wave Protocol administration, prolonged memory refers to memory above the first megabyte (220 bytes) of address space in an IBM Laptop or compatible with an 80286 or later processor. The term is primarily used below the DOS and Home windows operating programs. DOS applications, working in actual mode or virtual x86 mode, cannot straight access this memory, but are in a position to do so by an application programming interface (API) called the Prolonged Memory Specification (XMS). This API is implemented by a driver (comparable to HIMEM.SYS) or the working system kernel, which takes care of memory management and copying memory between standard and prolonged memory, by quickly switching the processor into protected mode. In this context, the term "extended memory" could check with either the whole of the extended memory or Memory Wave only the portion available by this API. Prolonged memory will also be accessed instantly by DOS packages working in protected mode using VCPI or DPMI, two (different and incompatible) methods of utilizing protected mode beneath DOS.
Extended 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) utilizing an enlargement card with bank switched memory modules. Because of the obtainable assist for expanded memory in common functions, system drivers were developed that emulated expanded memory utilizing extended memory. Later two additional methods were developed allowing direct entry to small portions of additional memory above 640 KB from actual mode. One of those is referred to because the high memory area (HMA), consisting of the first almost sixty four KB of prolonged memory, and the other is referred to because the upper memory space (UMA; also referred to as higher memory blocks or UMBs), located within the handle range between 640 KB and 1 MB which the IBM Pc designates for hardware adapters and ROM. On x86-primarily based PCs, prolonged memory is just available with an Intel 80286 processor or higher, such as the IBM Computer AT.
Only these chips can directly 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 components of it seem at addresses under 1 MB. On a 286 or higher Laptop outfitted with greater than 640 kB of RAM, the additional memory would typically be re-mapped above the 1 MB boundary, because the IBM Laptop structure reserves addresses between 640 kB and 1 MB for system ROM and peripherals. Extended memory just isn't accessible in actual mode (except for a small portion referred to as the excessive memory space). Solely functions executing in protected mode can use extended memory instantly. A supervising protected-mode operating system akin to Microsoft Windows manages software programs' access to memory. The processor makes this memory obtainable by the global Descriptor Table (GDT) and Memory Wave Protocol one or more Native Descriptor Tables (LDTs).
The memory is "protected" within 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 global descriptor can have their entry rights restricted, inflicting a processor exception (e.g., a general protection fault or GPF) on violation. This prevents programs operating in protected mode from interfering with one another's memory. Prolonged memory went unused at first as a result of no software ran within the 80286's protected mode. By contrast, the business shortly adopted 1985's expanded memory commonplace, which works with all PCs regardless of processor. A protected-mode operating system akin to Microsoft Windows can even run actual-mode applications and provide expanded memory to them. The DOS Protected Mode Interface (DPMI) is Microsoft's prescribed methodology for a DOS program to entry prolonged memory underneath a multitasking surroundings. The Prolonged Memory Specification (XMS) is the specification describing using IBM Computer prolonged memory in real mode for storing information (however not for working executable code in it).
Memory is made out there by prolonged memory supervisor (XMM) software program equivalent to HIMEM.SYS. XMS model 2.0, released in July 1988, allowed for as much as 64 MB of memory. With XMS version 3.Zero this increased to four GB (232 bytes). Four TB (four terabytes) however limited by the specification to four GB. Four GB is the deal with vary of the 80386 and the 80486, the one 32-bit Intel x86 CPUs that existed when XMS 3.Zero was revealed in 1991.) XMS 3.0 retains the unique XMS 2.Zero API functions with their authentic 64 MB restrict but provides new "tremendous prolonged memory" capabilities that support four GB of prolonged memory (minus the primary 1 MB) and will be known as only with a 32-bit CPU (since these "tremendous" capabilities use 32-bit CPU registers to pass values). To differentiate between the possibly totally different quantity of memory that may be out there to purposes, depending on which model of the specification they have been developed to, the latter may be referred to as tremendous prolonged memory (SXMS). The extended memory manager can be responsible for managing allocations in the high memory space (HMA) and the higher memory area (UMA; additionally referred to as upper memory blocks or UMBs). In apply the upper memory area can be supplied by the expanded memory supervisor (EMM), after which DOS will attempt to allocate them all and handle them itself. Mendelson, Edward (1989-12-12). "A Slot Full of RAM". Pc Magazine. Vol. 8, no. 21. Ziff Davis Publishing Co. pp.