Software:LOADHIGH

From HandWiki

LOADHIGH / LH / HILOAD
Developer(s)Digital Research, Novell, Microsoft, IBM, Caldera
Initial release11 June 1991; 32 years ago (1991-06-11)
Operating systemDOS
TypeCommand

In computing, LOADHIGH (abbreviated LH) is an internal DOS command in COMMAND.COM that is used to load a program into the upper memory area (UMA) instead of conventional memory.[1]

The command was introduced with MS-DOS 5.0 / PC DOS 5.0 in 1991,[2][1] copying the built-in HILOAD command earlier introduced with DR DOS 5.0 in 1990. DR DOS 6.0 added support for this naming variant as well in 1991.[3][4]

Overview

Due to design of the IBM PC, DOS suffered from what was known as the 640 KB barrier. The size of this memory area, known as conventional memory, was fixed and independent of the amount of system memory actually installed. Various schemes were developed to support extra memory (see also EMS, XMS) and DOS extenders, but conventional memory was still an issue due to compatibility issues. It was a scarce resource as many applications demanded a large part of this basic memory fragment at runtime. Therefore, it was often necessary to move high some TSR programs like the mouse driver or the disk caching driver (like SMARTDRV) prior to running a memory-hungry application. This was achieved by using LOADHIGH called with the program's name as the parameter.

To load TSRs high within CONFIG.SYS, the INSTALLHIGH directive must be used instead of the LOADHIGH command. The equivalent of LOADHIGH for device drivers is DEVICEHIGH (usable only within CONFIG.SYS). These are also supported since DR DOS 6.0. DR DOS 5.0 and higher also support HIINSTALL and HIDEVICE, respectively.[4]

Most modern operating systems now run in protected mode with support for an unsegmented (flat) memory model and do not have a 640 KB constraint. LOADHIGH and other methods of freeing conventional memory have largely become obsolete.


See also

  • BUFFERSHIGH / HIBUFFERS (DOS 7.0+)
  • STACKSHIGH / HISTACKS (DOS 7.0+)
  • LASTDRIVEHIGH / HILASTDRIVE (DOS 7.0+)
  • FILESHIGH / HIFILES (DOS 7.0+)
  • FCBSHIGH / HIFCBS (DOS 7.0+)
  • DOS / HIDOS (DOS 5.0+)
  • DOSDATA
  • HIINSTALLLAST
  • List of DOS commands
  • Self-highloading
  • Self-relocation

References

  1. 1.0 1.1 "Overview of Memory-Management Functionality in MS-DOS". Microsoft. 2001-06-06. https://jeffpar.github.io/kbarchive/kb/095/Q95555/. 
  2. Running MS-DOS Version 6.22 (6th revised ed.). Microsoft Press. 2003. ISBN 0-7356-1812-7. 
  3. (in de) NWDOS-TIPs — Tips & Tricks rund um Novell DOS 7, mit Blick auf undokumentierte Details, Bugs und Workarounds. MPDOSTIP (3 ed.). 1997-07-30. http://www.antonis.de/dos/dos-tuts/mpdostip/html/nwdostip.htm. Retrieved 2012-01-11.  (NB. NWDOSTIP.TXT is a comprehensive work on Novell DOS 7 and OpenDOS 7.01, including the description of many undocumented features and internals. It is part of the author's yet larger MPDOSTIP.ZIP collection maintained up to 2001 and distributed on many sites at the time. The provided link points to a HTML-converted older version of the NWDOSTIP.TXT file.)
  4. 4.0 4.1 "Chapter 10 Managing Memory". Caldera DR-DOS 7.02 User Guide. Caldera, Inc.. 1998. http://www.drdos.net/documentation/usergeng/10ugch10.htm. Retrieved 2017-08-30. 

Cite error: <ref> tag with name "Microsoft_64" defined in <references> is not used in prior text.
Cite error: <ref> tag with name "Microsoft_Commands" defined in <references> is not used in prior text.

Cite error: <ref> tag with name "Microsoft_XP" defined in <references> is not used in prior text.

Further reading