无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 5593|回复: 9
打印 上一主题 下一主题

Dos的内存

[复制链接]
跳转到指定楼层
1#
发表于 2009-3-12 08:36:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式


在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 编辑 ]
2#
发表于 2009-3-12 10:50:32 | 只看该作者
好帖,不顶不行。

强顶。
回复

使用道具 举报

3#
发表于 2009-3-12 13:13:52 | 只看该作者
以前总弄不明白这个..谢谢了
回复

使用道具 举报

4#
发表于 2009-3-12 13:46:17 | 只看该作者
呵呵,现成的,谢谢,非常感谢!!
回复

使用道具 举报

5#
发表于 2009-3-12 15:27:15 | 只看该作者
谢谢,很受教了!^_^
回复

使用道具 举报

6#
发表于 2009-3-12 16:38:56 | 只看该作者
这个都是传统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 编辑 ]
回复

使用道具 举报

7#
发表于 2009-3-12 19:24:02 | 只看该作者
原帖由 fujianabc 于 2009-3-12 16:38 发表
这个都是传统dos内存的结构,就目前来说,其中一些已经有了变化,主要在UMA和UMB这块:

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


呵呵,还是你了解透彻。佩服一下。
回复

使用道具 举报

8#
发表于 2009-3-16 00:54:23 | 只看该作者
这些好像是10多年前的事了。好久没看了。绝对好。加上新的UMA解释。总算明白dos再走下去真的要没路可走了。
回复

使用道具 举报

9#
发表于 2009-3-16 11:53:56 | 只看该作者
以前学习过。不过都忘记得差不多了。又温习一下,
回复

使用道具 举报

10#
发表于 2011-3-16 19:50:51 | 只看该作者
这个经典,自己也复习一下了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-15 23:40

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表