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 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 HIMEMX.SYS
and can be loaded from the FreeDOS configuration file named FDCONFIG.SYS
or CONFIG.SYS
. It is also plug compatible with MS-DOS HIMEM.SYS, offering additional control parameters.[1]
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.
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
- Conventional memory
- Extended memory
- High memory area
- Upper memory area
- EMM386
- Memory management
- LOADALL