操作系统分页虚拟存储器管理中地址变换

1. 请求分页虚拟存储管理技术是把作业地址空间的全部信息存放在磁盘上。当作业被选中运行时,,先把作业的开始几页装入主存并启动运行。为此在为作业建立页表时,应说明哪些页已在主存,哪些页不在主存。

2. 作业执行时,指令中的逻辑地址指出参加运算的操作数 (或指令)地址中的页号和页内偏移量。硬件地址转换机构按页号查页表。

3. 设计一个“地址变换”程序,模拟硬件地址变化过程。当访问的页在主存时,则形 成绝对地址后,不去模拟指令的执行,而是输出被转换的地址。当访问的页不在主存时,输出“该页不在主存,产生缺页中断”以表示产生一次缺页中断。

4. 进行缺页中断处理。中断返回后,重新执行该指令。 假定主存的每块长度为 64个字节,现有一个具有 8 页的作业,系统为其分配了4个主存块(即m=4),且最多分 4 块。

Id 页号
Flag 标志
MemoryBlock 主存块号
ChangePosition 修改位
outAddress 外存地址

地址转换代码(核心代码)

其中Block为逻辑地址对应的页表号码

Bias为偏移量

注意地址转换公式为:

绝对地址 = 块号 * 块的长度 + 页内偏移量

实验设计

测试用例

逻辑地址为65、124、130、193、257

分别在主存号为5 8 9 10 不存在的位置

逻辑地址 主存号
63 5
124 8
130 9
193 10
257 页面中断

结果:

留下评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注