实验模拟页式虚拟存储管理中硬件的地址转换和用
先进先出调度算法处理缺页中断
1、实验目的
1)理解页式虚拟存储管理中的地址转换。
2)理解用先进先出调度算法如何处理缺页中断。 2、实验原理
在页式虚拟存储管理中,如果访问的页面在内存,计算出相应的物理地址,如果访问的页面不在内存,产生缺页中断,将所缺页从外存调入,如果内存没有空间需要将内存的一页淘汰,再将所缺页调入,然后计算出相应的物理地址。 3、实验仪器设备
微型计算机、C或Visual C++开发软件 4、实验内容与步骤
编写程序,模拟页式虚拟存储管理中硬件的地址转换和用先进先出调度算法处理缺页中断。
假定主存的每块长度为1024个字节,现有一个共7页的作业,其副本已在磁盘上。系统为该作业分配了4个主存块,且该作业的第0页至第3页已经装入主存,其余3页尚未装入主存,该作业的页表见下表。
页号 标志 主存块号 修改标志 在磁盘上的位置 0 1 5 0 010 1 1 8 0 012 2 1 9 0 013 3 1 1 0 021 4 0 0 022 5 0 0 023 6 0 0 125
实验步骤
1)输入程序
2)如果该作业执行的指令序列如下表所示:
操作 页号 页内地址 操作 页号 页内地址 + 0 072 + 4 056 5+ 1 050 5 023 — ╳ 2 015 1 037 存(save) 3 026 + 2 078 存(save) 0 056 4 001 取(load) — 6 040 6 086 — 存(save)
执行上述的指令序列来调试你所设计的程序(仅模拟指令的执行,不必考虑指令序列中具体操作的执行) 5、预习及实验报告要求
预习页式虚拟存储管理中地址转换和页面置换算法的有关内容。实验报告要求写出程序的源代码及运行结果。
分析:主存块有4个,物理地址=块号*块长(这里是1024)+块内地址(块内地址=页内地址),若页号不在主存中,则产生缺页中断,根据先进先出原则,今要执行的页号置换最先进入主存的页号,计算得到如下值: (1)5192, (2)8242, (3)9231, (4)1050, (5)5176, (6)5160, (7)8248, (8)9239, (9)1061, (10)5198, (11)8193, (12)8278
012306451246 000006666222 111111444446 222222255555 333333331111