无忧启动论坛

标题: Dos的内存 [打印本页]

作者: dos时代菜鸟    时间: 2009-3-12 08:36
标题: Dos的内存


在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 编辑 ]
作者: lianjiang    时间: 2009-3-12 10:50
好帖,不顶不行。

强顶。
作者: FLOPPY    时间: 2009-3-12 13:13
以前总弄不明白这个..谢谢了
作者: loveks    时间: 2009-3-12 13:46
呵呵,现成的,谢谢,非常感谢!!
作者: CF6896    时间: 2009-3-12 15:27
谢谢,很受教了!^_^
作者: fujianabc    时间: 2009-3-12 16:38
这个都是传统dos内存的结构,就目前来说,其中一些已经有了变化,主要在UMA和UMB这块:

“电脑最多可以拥有384K的UMA.UMA区紧靠进常规内存,UMA以留给系统硬件的驱动程序。UMA中被系统硬件驱动程序使用后的剩余空间成为UMB。UMB可以用来存储设备驱动程序和常驻内存的程序。”

现在的bios功能已经大大加强,要支持各种启动设备(各种usb,sata,raid等等)还有各种显卡。很多情况下,384KB可能是不够的,这就导致UMA要么占用常规内存(现在很多主板启动DOS后,常规内存不足640KB),要么占用UMB(有些主板启动dos后,可用UMB为0)

[ 本帖最后由 fujianabc 于 2009-3-12 16:39 编辑 ]
作者: willsion    时间: 2009-3-12 19:24
原帖由 fujianabc 于 2009-3-12 16:38 发表
这个都是传统dos内存的结构,就目前来说,其中一些已经有了变化,主要在UMA和UMB这块:

“电脑最多可以拥有384K的UMA.UMA区紧靠进常规内存,UMA以留给系统硬件的驱动程序。UMA中被系统硬件驱动程序使用后的剩 ...


呵呵,还是你了解透彻。佩服一下。
作者: aceainarj    时间: 2009-3-16 00:54
这些好像是10多年前的事了。好久没看了。绝对好。加上新的UMA解释。总算明白dos再走下去真的要没路可走了。
作者: 135956    时间: 2009-3-16 11:53
以前学习过。不过都忘记得差不多了。又温习一下,
作者: pla    时间: 2011-3-16 19:50
这个经典,自己也复习一下了




欢迎光临 无忧启动论坛 (http://wuyou.net/) Powered by Discuz! X3.3