8、MS-DOS 内存分配与管理全解析

MS-DOS 内存分配与管理全解析

1. MS-DOS 内存管理基础

MS-DOS 的当前版本最多可管理 1MB 的连续随机访问内存。在 IBM PC 及其兼容机上,MS-DOS 和其他程序占用的内存从地址 0000H 开始,最高可达 09FFFFH,这个 640KB 的 RAM 区域有时被称为常规内存。此地址以上的内存则保留给 ROM 硬件驱动程序、视频刷新缓冲区等使用。非 IBM 兼容的计算机可能采用不同的内存布局。

MS-DOS 控制下的 RAM 区域主要分为两个部分:
- 操作系统区域:从地址 0000H 开始,占据 RAM 的最低部分。它包含中断向量表、操作系统本身及其表格和缓冲区、CONFIG.SYS 文件中指定的任何额外可安装驱动程序,以及 COMMAND.COM 命令解释器的常驻部分。该区域占用的内存量会因所使用的 MS-DOS 版本、磁盘缓冲区数量、已安装设备驱动程序的大小等因素而有所不同。
- 临时程序区域(TPA):是操作系统区域之上的剩余 RAM,属于动态可分配内存。MS-DOS 为 TPA 中每个分配的内存块维护一个特殊的控制块,这些块相互链接。有三个 MS-DOS 函数可用于从 TPA 分配和释放内存块:
| 函数 | 操作 |
| ---- | ---- |
| 48H | 分配内存块 |
| 49H | 释放内存块 |
| 4AH | 修改内存块 |

当 COMMAND.COM 或其他外壳程序请求从磁盘加载程序或外部命令时,MS-DOS 会使用这些函数。EXEC 函数(即 MS-DOS 程序加载器)会调用函数 48H 为加载程序的环境和程序本身及其程序段前缀分配内存块,然后将程序

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值