HIMEM.SYS

HIMEM.SYS is a DOS device driver which allows DOS programs to store data in extended memory according to the Extended Memory Specification (XMS). The memory beyond the first 1 MB of address space is required by Windows 9x/Me in order to load; therefore, these versions of Microsoft Windows require  to be loaded to be able to run.

was first included with Windows 2.1 (1988).

In MS-DOS 5.0 (1991) and later,  can be used to load the DOS kernel code into the High Memory Area (HMA) to increase the amount of available conventional memory by specifying   in.

In DR DOS 5.0 (1990) and 6.0 (1991), the driver is named  rather than , like the corresponding   or   directive.

In FreeDOS, the matching file is named  and can be loaded from the FreeDOS configuration file named   or.

In Windows 3.1 and Windows 9x, there is also a command-line loadable version of HIMEM.SYS called XMSMMGR.EXE. It can load extended memory services after the system boots into the command prompt. This allows Windows Setup to load even if HIMEM.SYS is not loaded.

The hard bug exists in recent versions of HIMEM.SYS from MS-DOS and Windows 9x for handling /a20control:off option causing a hang-up. There is an unofficial patch for this.

History
The major version number of HIMEM.SYS indicates the Extended Memory Specification (XMS) version compatibility. e.g., HIMEM.SYS 3.07 is compatible with XMS version 3.0.