DOS下内存的配置
程序员文章站
2022-03-22 09:41:09
实模式的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时代
首先,加载提供上位内存(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时代