EMM386

The name EMM386 was used for the expanded memory managers of both Microsoft's MS-DOS and Digital Research's DR-DOS, which created expanded memory using extended memory on Intel 80386 CPUs. There also is an EMM386.EXE available in FreeDOS.[1]

The technique probably first appeared with the development of CEMM, included with Compaq DOS 3.31 in 1987. Microsoft's version first appeared, built-in, with Windows/386 2.1 in 1988 and as standalone EMM386.SYS with MS-DOS 4.01 in 1989; the more flexible EMM386.EXE version appeared in MS-DOS 5.0 in 1991.

Just as the other expanded memory managers, EMM386 uses the processor's virtual 8086 mode. It temporarily shuts down during a Windows session in 386 Enhanced mode, with Windows' protected mode kernel taking over its role.

EMM386.EXE can map memory into unused blocks in the upper memory area (UMA), allowing device drivers and TSRs to be "loaded high", preserving conventional memory.

See also

References