|
转帖
计算机的内存是最重要的系统资源之一,所有的程序只有装载到内存里才能够运行,因此
系统拥有的内存越多,越容易提高系统的性能,特别是提高系统的运行速度。随着计算机技
术的迅速发展,80386和80486已成为微机应用的主流,绝大多数都带有1MB或1MB以上的内存
,这些内存一般可分为以下几种:640KB以下的内存是所有计算机最基本的主机内存,称为常
规内存,所有的程序都可以在其中正常运行;在640KB以外的一种内存是XMS,即扩充内存,由
于它的单元数及相应地址不能为大多数程序所识别,所以绝大多数程序不能在扩充内存中运
行:640KB以外的另一种内存是EMS,即扩展内存或者称扩页内存,它是按16KB(页)分段的,程
序不能直接访问扩展内存,而是通过页帧缓存读取相应页的信息。除此之外,位于640KB以上
及1MB以下的384KB的内存空间,也就是扩充内存的低地址部分,一般不用于存储程序,而是用
于运行系统硬件,这部份内存被称为高位内存或者上位内存,当硬件驱动程序启动后,高位内
存空间并未用完,未使用的内存区域称为高内存块UMB,这样就可以通过把程序(主要是某些
内存驻留程序和设备驱动程序)安装到高位内存中而不再装入常规内存,以缓解常规内存的
使用。
在高位内存中运行程序之前,首先要设置好系统,使MS-DOS可以对高位内存进行访问。
在MS-DOS5.0以上的版本中,可以通过配置HIMEM和EMM386来完成。HIMEM.SYS是扩充内存管
理程序,它支持对扩充内存的访问,并确保同一时刻没有两个程序对同一扩充内存区域进行
访问。EMM386.EXE是扩展内存模拟程序,它用扩充内存来模拟扩展内存,并提供对高位内存
的访问。在CONFIG.SYS文件中用DEVICE命令进行设置,并且HIMEM和EMM386的DEVICE命令应
在其它DEVICE命令之前,而HIMEM又必须在EMM386之前,在EMM386中必须说明NOEMS或RAM选项
,NOEMS使EMM386只用于管理高位内存,RAM使EMM386管理高位内存并模拟扩展内存。另外还
必须在CONFIG.SYS中增加DOS=UMB命令,使DOS保持常规内存和高位内存的联系。这样就配置
好了系统,然后就可以在高位内存中运行程序了。
由于不是所有的程序都可以在高位内存中正常运行,所以先把要装到高位内存的程序装
到常规内存中,再试探着逐一移到高位内存。要能在上位内存中运行程序,该程序必须能适
合最大的可用高位内存块UMB,可以使用DOS的MEM命令获得内存信息,MEM/C选项以十进制和
十六进制列出每个程序的大小,提供内存使用的情况,并列出可使用的最大内存块,记下该内
存块的大小,然后在常规内存中查找与之大小相适应的内存驻留程序或设备驱动程序,该程
序的大小应小于或等于最大可用UMB的大小,通过改变程序的启动命令就可以把程序装载到
高位内存中。对于设备驱动程序,在CONFIG.SYS中把DEVICE命令改为DEVICEHIGH,对于内存
驻留程序,在启动命令之前插入LOADHIGH命令。保存修改后,重新启动系统,测试程序以确保
各项功能都正常,则该程序可以在高位内存中运行。对下一个要在高内存中运行的程序重复
以上过程即可。
设备驱动程序通过devicehigh命令装载到高位内存而节省常规内存空间,devicehigh和
device命令功能相似,如果高位内存不够用,MS-DOS就把程序装载到常规内存,对于RAMDriv
e内存——磁盘程序以及使用控制台的设备驱动程序都应在高位内存中运行,例如devicehi
gh=ramdrive.sys 512/a,其它的设备驱动程序也应尽可能在高位内存中运行。有些设备驱
动程序在启动后要使用附加的内存,从而超过装载时分配给该程序的最大UMB的大小,造成系
统死锁,这时可以用devicehigh命令的SIZE参数说明该程序需要的内存量,该内存量可以通
过把程序装入常规内存,用MEM/C命令得到。对于内存驻留程序也应尽可能在高位内存中运
行,如MIRROR、DOSKEY以及FASTOPEN等都可在高位内存中运行,若程序与最大可用高内存块
的大小不匹配,LOADHIGH命令就把该程序装入常规内存。另外,DOS系统数据和HIMEM以及EM
M386不能装入高位内存,否则将不会正常运行。
由于把程序装入高位内存时,即使程序比最大可用的UMB小得多,MS-DOS也要将最大的可
用UMB分配给该程序,所以在装载过程中次序很重要,一般情况是按从大到小的次序装载,实
际运用时可以用试探的办法来找出最优的装载次序。一旦装入高位内存的程序不能正常运
行,而使系统出现死锁等故障,只能通过逐一测试的方法以确定哪些程序不能在高位内存中
运行,然后把它们装到常规内存中去。通过把程序装到高位内存中运行,可以节省更多的可
用内存空间,从而优化系统,为应用程序提供较好的运行环境。 |
|