实模式的DOS通常只能使用1M以下的内存空间。其中基本内存为640K,而上位内存则需要相应的内存管理器。基本内存的管理尤为重要,因为使用不当会造成一些程序无法运行。那么,应如何优化使用它呢?这儿有一些建议。
首先,加载提供上位内存(UMB)的内存管理器。通常有EMM386和QEMM等,不过这些工具自身占用的内存较大,在此推荐的是UMBPCI,这是一个 仍在发展的工具,可提供最大高达162K的UMB,而且如果放在HIMEM前可完全不占用基本内存。然后,将所有的设备驱动程序/TSR调入UMB(用 DEVICEHIGH,LOADHIGH等),这样,即使加载许多驱动程序(如光驱,鼠标等),剩下的基本内存仍会很高,甚至630K。要注意的是,尽量使用占内存较少的驱动程序,以便空出最多的UMB。
以下是在我的电脑上(MS-DOS 7.10)用MEM/A/C命令显示出的内存状态信息:
Modules using memory below 1 MB:
Name Total Conventional Upper Memory
-------- ---------------- ---------------- ----------------
SYSTEM 32,736 (32K) 9,664 (9K) 23,072 (23K)
HIMEM 1,168 (1K) 0 (0K) 1,168 (1K)
SETVER 864 (1K) 0 (0K) 864 (1K)
VIDE-CDD 5,024 (5K) 0 (0K) 5,024 (5K)
CLOAKING 1,168 (1K) 0 (0K) 1,168 (1K)
IFSHLP 2,864 (3K) 0 (0K) 2,864 (3K)
COMMAND 7,424 (7K) 0 (0K) 7,424 (7K)
KILLER 400 (0K) 0 (0K) 400 (0K)
WATCH 3,392 (3K) 0 (0K) 3,392 (3K)
MSCDEX 2,816 (3K) 0 (0K) 2,816 (3K)
DOSKEY 5,744 (6K) 0 (0K) 5,744 (6K)
CTMOUSE 3,344 (3K) 0 (0K) 3,344 (3K)
ZENO 1,376 (1K) 0 (0K) 1,376 (1K)
ESCAPE 496 (0K) 0 (0K) 496 (0K)
Free 750,080 (732K) 645,328 (630K) 104,752 (102K)
Memory Summary:
Type of Memory Total Used Free
---------------- ----------- ----------- -----------
Conventional 655,360 10,032 645,328
Upper 163,904 59,152 104,752
Reserved 393,216 393,216 0
Extended (XMS) 49,119,168 82,880 49,036,288
---------------- ----------- ----------- -----------
Total memory 50,331,648 545,280 49,786,368
Total under 1 MB 819,264 69,184 750,080
Largest executable program size 645,312 (630K)
Largest free upper memory block 103,952 (102K)
Available space in High Memory Area 5,360 (5K)
MS-DOS is resident in the high memory area.
从上表中可以看出,我加载了以下内存驻留程序及驱动程序:
HIMEM:DOS中自带的XMS驱动程序。
SETVER:DOS版本表程序。
VIDE-CDD:通用光驱驱动程序。如果您的光驱是USB的,则用DUSE。
CLOAKING:内存CLOAKING API及DPMS驱动程序,以节省MSCDEX的内存占用。
IFSHLP:32位的磁盘服务程序,用于Windows 9x中,可以不加载。
COMMAND:DOS命令处理器。
KILLER:自动截获不正确的指令,防止死机。
WATCH:TSR Utils中的一个,DISABLE命令利用它可以禁止其它TSR程序的功能。
MSCDEX:和CLOAKING程序合用的MSCDEX,只占不到3K内存,否则要占约30K。
DOSKEY:DOS自带的键盘缓冲和历史程序。
CTMOUSE:DOS下通用的鼠标驱动程序,占内存小,速度也非常快。
ZENO:显示加速程序。
ESCAPE:在任何时候都可以按F12键退回到DOS方式下,以防止死机。
本文来自于新dos时代