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

DOS下内存的配置方法

程序员文章站 2022-03-22 09:13:15
我们大家都知道,dos大体上不能够完全依靠人机界面的方式来一步步地完成系统的配置。若要让系统发挥出最大的性能,必须依靠我们的进一步努力。下面介绍一下dos内存的配置方法。&...
我们大家都知道,dos大体上不能够完全依靠人机界面的方式来一步步地完成系统的配置。若要让系统发挥出最大的性能,必须依靠我们的进一步努力。下面介绍一下dos内存的配置方法。 

实模式的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方式下,以防止死机。 

当然,我还加载了不少非内存驻留程序。如果您想知道我的config.sys文件中的具体设置内容,可看下面的“config.sys文件的命令与配置”。