欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

DOS下内存的配置

程序员文章站 2022-06-16 15:55:54
实模式的dos通常只能使用1m以下的内存空间。其中基本内存为640k,而上位内存则需要相应的内存管理器。基本内存的管理尤为重要,因为使用不当会造成一些程序无法运行。那么,应...
实模式的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时代