HIMEM.SYS

from Wikipedia, the free encyclopedia

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.SYSthe 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.SYScan be CONFIG.SYSconfigured 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.SYSVMM32.vxdHIMEM.SYSNTVDM

DOS startup configuration

The CONFIG.SYSshould HIMEM.SYSbe loaded before an expanded memory manager , such as EMM386.EXE. As of MS-DOS 5.0, device drivers can then be DEVICEHIGHloaded 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=UMBrequired. With DOS=HIGHyou 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 DEVICEHIGHalso supports the parameter /Lwith which the block can be specified directly.

The start file AUTOEXEC.BATfollows this logic with the command LOADHIGHor short LH, also from MS-DOS 5.0. DR DOS also understands the command HILOAD:

LH MOUSE.COM

Under DR DOS, the CONFIG.SYSprograms can also be loaded, for which the commands INSTALLHIGHand HIINSTALLcan be used. MS-DOS does not support this.

Individual evidence

  1. 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. @1@ 2Template: Webachiv / IABot / www.google.de
  2. a b Using MS-DOS 6.22, p. 757 Online
  3. MS-DOS 6.2 + 6.22 Compendium, p. 606 Online
  4. MS-DOS 6.2 User's Guide, p. 88
  5. PC Mag - Sept. 11, 1990, p. 422 online
  6. 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."
  7. Randy Kath: The Virtual Memory Manager in Windows NT. Microsoft Developer Network Technology Group, December 21, 1992, accessed September 29, 2017 .
  8. Administering Windows Server 2008 Server Core - p. 627 Online
  9. MS-DOS 6.22 Command Reference. DeviceHigh. In: i8086 / 88 reference. Michael Prandl, accessed September 29, 2017 .
  10. 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. @1@ 2Template: Webachiv / IABot / www.drdos.net
  11. MS-DOS 6.22 Command Reference. DOS. In: i8086 / 88 reference. Michael Prandl, accessed September 29, 2017 .