DEVICEHIGH与LOADHIGH命令用法剖析

Author: 余巍然 Date: 1997-01-01

  目前大多数计算机带有4MB以上的内存,但由于DOS能够管理的只是640KB的常规内存,所以在使用中经常会遇到内存不足的麻烦。解决办法之一是在CONFIG.SYS中使用DEVICE=[drive:][path]EMM386.EXE[NOEMS][RAM]及DOS=UMB命令,把一些程序存放到上位内存块UMB中。但是,并不是所有的程序都能放到UMB中,能放到UMB中的程序只有两类,一类是设备驱动程序,另一类是常驻程序。下面就两种程序装载命令进行介绍。
#2  一、用“DEVICEHIGH=”命令装载设备驱动程序
  格式:DEVICEHIGH=[drive:][path]filename
  设备驱动程序用来驱动和管理硬件设备,如DBLSPACE.SYS、MOUSE.SYS等等。这类程序只能以“DEVICE=设备驱动程序名”的形式写在CONFIG.SYS中。设备驱动程序在DOS启动时被执行并永久地装入内存。除EMM386.EXE等少数设备驱动程序外,绝大部分设备驱动程序都不能在DOS提示符下运行。
  使用“DEVICE=”命令只能将设备驱动程序是安装在常规内存中,如果想把设备驱动程序装到上位内存中,必须使用“DEVICEHIGH=”命令。实际上DOS 6.X中DEVICEHIGH命令已可完全替代DEIVCE命令,如果发现UMB不够用,由DEVICEHIGH命令所指定的设备驱动程序将被装入常规内存中。
#2  二、用“LOADHIGH”命令运行常规程序
  格式:LOADHIGH[drive:][path]filename或LH[drive:][path]filename
  在DOS提示符下执行的程序,在其运行结束后,通常会释放它所占用的所有内存空间以供下一个要运行的程序使用,但是有一类程序却不是这样,它一旦执行便永久地占据内存,这类程序就是常驻程序,也叫常驻内存程序。如MOUSE.COM、SMARTDRV.EXE、DOSKEY.COM、VSAFE.COM等。
  如果运行常驻程序时没写LOADHIGH,则该常驻程序便将驻留在常规内存中,若想将常驻程序调到UMB中,必须使用LOADHIGH(可简写为LH)。
  要特别注意这两个命令的用法差别:设备驱动程序只能用“DEVICEHIGH=”命令,且只能在CONFIG.SYS文件中使用,常驻程序只能用“LOADHIGH”命令,用一个空格与常驻程序名隔开就可以了,可在AUOTEXEC.BAT和DOS提示符下使用。