模拟请求分页虚拟存储管理中的硬件地址变换过程
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
模拟请求分页虚拟存储管理中的硬件地址变换过程
提示
(1)
请求分页虚拟存储管理技术是把作业地址空间的全部信息存放在磁盘上.当作业被选中运行时,,先把作业的开始几页装入主存并启动运行.为此在为作业建立页表时,应说明哪些页已在主存,哪些页不在主存.页表的格式如表1-1所示,其中,”标志”表示对应页是否已经装入主存:
“1”表示对应页已经装入主存;
“0”表示对应页未装入主存;
“主存快号”表示该页对应的主存快号;
“修改位”指示该页调入主存后是否修改过的标志.
“外存地址”指示该页所在的外存地址.
自己设计一个主存分块表.
(2)作业执行时,指令中的逻辑地址指出参加运算的操作数(或指令)地址中的页号和页内偏移量.硬件地址转换机构按页号查页表.
若该页的标志为1 ,则表示该页已在主存,从而找到该页对应的主存块号.
根据关系式:
绝对地址=块号*块的长度+页内偏移量
计算出欲访问的主存地址.由于页号为2的整次幂,所以只要将块号与页内偏移量相拼接,放入主存地址寄存器即可.按照该地址取指令或取操作数,完成指定的操作.
(3)设计一个”地址变换”程序,模拟硬件地址变化过程.当访问的页在主存时,则形成绝对地址后,不去模拟指令的执行,而是输出被转换的地址.当访问的页不在主存时,输出”该页不在主存,产生缺页中断”,以表示产生一次缺页中断.
(4)进行缺页中断处理.中断返回后,重新执行该指令.
假定主存的每块长度为64个字节,现有一个具有8页的作业,系统为其分配了4个主存块(即m=4),且最多分4块.其中第0页至第3页已经装入主存.该作业的页表如表10—2所示.
地址变换算法框图如图10—1所示.
运行设计的地址变换程序,显示或打印运行结果..因为只是模拟地址变换,并不模拟指令的执行,故不考虑上述指令的操作结果.
表10-1 页表
表10-2 页表1