HIMEM.SYS

From Wikipedia the free encyclopedia

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 HIMEM.SYS to be loaded to be able to run.

HIMEM.SYS was first included with Windows 2.1 (1988).

In MS-DOS 5.0 (1991) and later, HIMEM.SYS 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 DOS=HIGH in CONFIG.SYS.

In DR DOS 5.0 (1990) and 6.0 (1991), the driver is named HIDOS.SYS rather than HIMEM.SYS, like the corresponding DCONFIG.SYS or CONFIG.SYS directive HIDOS=ON.

In FreeDOS, the matching file is named HIMEM.EXE and can be loaded from the FreeDOS configuration file named FDCONFIG.SYS or CONFIG.SYS.

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[edit]

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.

HIMEM Version history[1][2]
Bundled with Date Version
Windows/286 2.1 May 1988 1.1
Windows/386 2.1 May 1988 2.04
Windows/286 2.11 March 1989 2.04
Windows/386 2.11 March 1989 2.04
MS-DOS 4.01 November 1988 2.04
Windows 3.0 May 1990 2.60
MS-DOS 5.0 June 1991 2.77
IBM PC DOS 5.0 June 1991 2.77
IBM PC DOS 5.02 September 1992 2.78
MS-DOS 5.00a November 1992 2.78
Windows 3.1 April 1992 3.07
Windows for Workgroups 3.1 October 1992 3.07
MS-DOS 6.0 March 1993 3.09
IBM PC DOS 6.1 June 1993 3.09
MS-DOS 6.2 September 1993 3.10
Windows 3.11 November 1993 3.10
Windows for Workgroups 3.11 November 1993 3.10
MS-DOS 6.21 March 1994 3.10
IBM PC DOS 6.3 April 1994 3.09
MS-DOS 6.22 June 1994 3.10
IBM PC DOS 7.0 April 1995 3.15
IBM PC DOS 2000 May 1998 3.15
Windows 95 August 1995 3.95
Windows 98 June 1998 3.95

See also[edit]

References[edit]

  1. ^ "EMM386 and Early Versions of HIMEM.SYS (74977)".
  2. ^ "Q84388: Windows 3.1 Memory Limits".