|
在dos下,内存分为:
常规内存(Conventional)
上位内存区(UMA)
上位内存块(UMB)
扩充内存(Extended)
扩展内存(Expanded)
高位内存(HMA)
保留内存(Reserved)
1)
常规内存:每台电脑都拥有常规内存,常规内存的容量至少有256K,但是最多也不能超过640K。由于DOS本身会自行管理常规内存,所以在使用常规内存时,不必执行诸如HIMEM.SYS或者EMM386.EXE 之类的内存管理程序,所有在DOS系统下开发出来的程序,都会用到常规内存。
2)
UMA和UMB:电脑最多可以拥有384K的UMA.UMA区紧靠进常规内存,UMA以留给系统硬件的驱动程序。UMA中被系统硬件驱动程序使用后的剩余空间成为UMB。UMB可以用来存储设备驱动程序和常驻内存的程序。在需要时用UMB之前,必须在CONFIG.SYS用DOS=UMB的命令。
3)
扩充内存:在老旧的电脑中,超过1M的内存一半属于扩充内存。一些高级的程序和系统比如WIN95就要用到扩充内存。使用扩充内存前应在CONFIG.SYS中设置DEVICE=HIMEM.SYS。WIN9X环境下,如果涉及内存不足,大部分是扩充内存不足。DOS环境下,内存不足大部分原因是常规内存不够用。
4)
HMA:包含在扩充内存的前部64K的空间是HMA。如果利用DOS=HIGH设置,可以将MS-DOS的操作系统本身的大部分程序转移到HMA,以便腾出较多的可用常规内存。如果不设置DOS=HIGH,MS-DOS本身会全部被安放于常规内存。
5)
扩展内存:早期的DOS开发程序,不但要使用常规内存,还有可能用到扩展内存,由于历史原因,目前大部分程序配置已经不用扩展内存来增加可用内存容量了。EMM386.EXE 就是用来驱动扩展内存的,它可以把扩充内存模拟成扩展内存,提供给就程序适用扩展内存。
腾出更过的可用常规内存:
可以把一些程序和驱动装入umb中,比如:Dos=high,umb,
把 device= 变成 devicehigh= 。要使用umb 必须用到dos=UMB 并用到UMBPCI.SYS或者EMM386.EXE之类的程序。同时用LOADHIGH(LH)指令来运行一些软件,比如:LH
CTMOUSE 把鼠标驱动调入UMB
扩充内存的使用:
扩充内存 要用到 DEVICE=HIMEM.SYS 。
DOS=HIGH 会利用到HMA
EMM386.EXE 会利用部分扩充内存产生UMB.
SMARTDRV 可以把扩充内存的一部分作为磁盘缓存。
[ 本帖最后由 dos时代菜鸟 于 2009-3-12 10:28 编辑 ] |
|