HIMEM.SYS
HIMEM.SYS is a device driver that it DOS allows programs and drivers, data in the extended storage area ( English Extended Memory ) via the Extended Memory Specification store (XMS). With HIMEM.SYS
the memory area above 1 MiB can be managed in such a way that different programs and device drivers do not come into conflict when using the extended memory.
It also regulates access to the upper memory area (the Upper Memory Block , UMB) between 640 KiB and 1 MiB, in which parts of the DOS kernel and device drivers and TSR programs can be loaded.
The amount of usable storage space above the 1 MiB limit depends on the processor type. With the 80286 it is a maximum of 15 MiB and from the 80386 , also known retrospectively as IA-32 , a maximum of 1023 MiB under MS-DOS 6.x. In such systems, the driver is automatically installed when MS-DOS is installed.
HIMEM.SYS
can be CONFIG.SYS
configured and adjusted through settings in the . It is essential to run Windows 3.x in 286 or 386 mode HIMEM.SYS
; if the driver is not available, Windows will not start. All DOS-based Windows versions following Windows 3.11, the series from Windows 95 to Me called Windows 9x , require DOS-based functionality, while memory management for native Windows programs is managed by the Virtual Memory Manager (VMM ) as is also the case under Windows NT . So DOS programs can continue to run provide them with the NT-based versions of Windows but also one within a virtual DOS environment ( , NT Virtual DOS Machine ) is available.
HIMEM.SYS
VMM32.vxd
HIMEM.SYS
NTVDM
DOS startup configuration
The CONFIG.SYS
should HIMEM.SYS
be loaded before an expanded memory manager , such as EMM386.EXE
. As of MS-DOS 5.0, device drivers can then be DEVICEHIGH
loaded into the upper memory area with the command . DR DOS also supports the command HIDEVICE
. However, it is a prerequisite that DOS takes over the management of the memory blocks in the upper memory area (UMB, Upper Memory Block ), for which the command is DOS=UMB
required. With DOS=HIGH
you can load parts of the DOS kernel into the memory above.
Example for CONFIG.SYS
:
DEVICE=C:\DOS\HIMEM.SYS DEVICE=C:\DOS\EMM386.EXE DOS=HIGH,UMB
Device drivers can then be loaded into the upper memory area:
DEVICEHIGH=CDROM.SYS
As of MS-DOS 6.0, the command DEVICEHIGH
also supports the parameter /L
with which the block can be specified directly.
The start file AUTOEXEC.BAT
follows this logic with the command LOADHIGH
or short LH
, also from MS-DOS 5.0. DR DOS also understands the command HILOAD
:
LH MOUSE.COM
Under DR DOS, the CONFIG.SYS
programs can also be loaded, for which the commands INSTALLHIGH
and HIINSTALL
can be used. MS-DOS does not support this.
Individual evidence
- ↑ PC hardware book, p. 153 Online ( memento of the original from June 9, 2018 in the Internet Archive ) Info: The archive link was automatically inserted and not yet checked. Please check the original and archive link according to the instructions and then remove this notice.
- ↑ a b Using MS-DOS 6.22, p. 757 Online
- ↑ MS-DOS 6.2 + 6.22 Compendium, p. 606 Online
- ↑ MS-DOS 6.2 User's Guide, p. 88
- ↑ PC Mag - Sept. 11, 1990, p. 422 online
- ↑ Memory Issues in Windows. Retrieved on September 29, 2017 (English): "... the Windows 95 virtual memory manager (Vmm32.vxd) takes over memory management tasks from Himem.sys."
- ↑ Randy Kath: The Virtual Memory Manager in Windows NT. Microsoft Developer Network Technology Group, December 21, 1992, accessed September 29, 2017 .
- ↑ Administering Windows Server 2008 Server Core - p. 627 Online
- ↑ MS-DOS 6.22 Command Reference. DeviceHigh. In: i8086 / 88 reference. Michael Prandl, accessed September 29, 2017 .
- ↑ Chapter 10 Managing Memory. (No longer available online.) In: Caldera DR-DOS 7.02 User Guide. Caldera, Inc., 1998, archived from the original on August 30, 2017 ; Retrieved September 29, 2017 ( section “Making More Memory Available” ). Info: The archive link was inserted automatically and has not yet been checked. Please check the original and archive link according to the instructions and then remove this notice.
- ↑ MS-DOS 6.22 Command Reference. DOS. In: i8086 / 88 reference. Michael Prandl, accessed September 29, 2017 .