In DOS memory management, expanded memory is a system of bank switching that provided additional memory to DOS programs beyond the limit of conventional memory (640 KB).
Expanded memory is an umbrella term for several incompatible technology variants. The most widely used variant was the Expanded Memory Specification (EMS), which was developed jointly by Lotus Software, Intel, and Microsoft, so that this specification was sometimes referred to as "LIM EMS." LIM EMS had several versions. The first widely implemented version was EMS 3.2, which supported up to 8 MB of expanded memory and uses parts of the address space normally dedicated to communication with peripherals (upper memory) to map portions of the expanded memory. EEMS, an expanded memory management standard competing with LIM EMS 3.x, was developed by AST Research, Quadram and Ashton-Tate; it could map any area of the lower 1 MB. EEMS ultimately was incorporated in LIM EMS 4.0, which supported up to 32 MB of expanded memory and provided some support for DOS multitasking as well. IBM however created its own expanded memory standard called XMA.
The use of expanded memory became common with games and business programs in the late 1980s through the mid-1990s, but its use declined as users switched from DOS to protected mode operating systems such as Linux, IBM OS/2 and Microsoft Windows.
The 8088 processor of the IBM PC and IBM PC/XT could address one Megabyte (MB or 220 bytes) of memory. It inherited this limit from the 20-bit external address bus of the Intel 8086. The designers of the PC allocated the lower 640 kB (655,360 bytes) of address space for read-write program memory (RAM), called "conventional memory", and the remaining 384 kB of memory space was reserved for uses such as the system BIOS, video memory, and memory on expansion peripheral boards.