固件吧

 找回密码
 加入论坛

QQ登录

只需一步,快速开始

怎样赚取F币附件需要购买看这里新手论坛固件上传教程附件解压不了的解决方法
查看: 1352|回复: 4

DOS内存管理

[复制链接]
发表于 2012-9-21 16:13:53 | 显示全部楼层 |阅读模式
在DOS下,系统中存在以下四种内存:  常规内存(ConventionalMemory);  高端内存(UpperMemory);  扩充内存(ExpandedMemory);  扩展内存(ExtendedMemory)。

  常规内存指的是0-640K的内存区。在DOS下,一般的应用程序只能使用系统的常规内存,因而都要受到640Kb内存的限制。而且由于DOS本身和config.sys文件中的安装的设备驱动程序和autoexec.bat文件中执行的内存驻留程序都要占用一些常规内存,所以应用程序能使用的常规内存是不到640K的。有很多时候,我们都要想方设法地整理内存,好为一些“胃口”比较大的应用程序留出足够的常规内存,这一点想必是许多DOS时代的电脑爱好者最熟悉不过的了。

  高端内存是指位于常规内存之上的384K内存。程序一般不能使用这个内存区域,但是EMM386.exe可以激活高端内存的一部分,并且它允许用户将某些设备驱动程序和用户程序用Devicehigh或LH(即loadhigh)装入高端内存。dos=high,umb也是把DOS的一部分装到高端内存里。这里的umb是高端内存块(UpperMemoryblock)的缩写。

  扩充内存是一种早期的增加内存的标准,最多可扩充到32M。使用扩充内存必须在计算机中安装专门的扩充内存板,而且还要安装管理扩充内存板的管理程序。由于扩充内存是在扩展内存之前推出的,所以大多数程序都被设计成能使用扩充内存,而不能使用扩展内存。由于扩充内存使用起来比较麻烦,所以在扩展内存出现后不久就被淘汰了。

  扩展内存只能用在80286或更高档次的机器上,目前几乎所有使用DOS的机器上超过1M的内存都是扩展内存。扩展内存同样不能被DOS直接使用,DOS5.0以后提供了Himem.sys这个扩展内存管理程序,我们可以通过它来管理扩展内存。emm386.exe可以把扩展内存(XMS)仿真成扩充内存(EMS),以满足一些要求使用扩充内存的程序。

  最后再强调一下,不管扩充内存或扩展内存有多大,DOS的应用程序只能在常规内存下运行。有的程序可以通过DOS扩展器(比如DOS4GW.exe等程序)使CpU进入保护模式,从而直接访问扩展内存;但是要注意,进入保护模式以后,计算机就脱离了DOS状态。
回复

使用道具 举报

发表于 2012-9-21 22:41:48 | 显示全部楼层
受益匪浅啊,很有用的
回复 支持 反对

使用道具 举报

发表于 2012-9-22 05:03:45 | 显示全部楼层
恩,我觉得值得学习啊,顶你
回复 支持 反对

使用道具 举报

发表于 2012-9-22 11:29:00 | 显示全部楼层
好好学习了,真的不错哦
回复 支持 反对

使用道具 举报

发表于 2019-2-14 20:41:37 | 显示全部楼层
我是个凑数的。。。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入论坛

本版积分规则

QQ|小黑屋|固件吧移动版|固件吧论坛 ( 浙ICP备11055615号-1 )

鲁公网安备 37172502371702号

GMT+8, 2025-5-3 21:26 , Processed in 0.101668 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc. Template By 【未来科技】【 www.wekei.cn 】

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