计算机操作系统试验源码模拟请求分虚拟存储管理中的硬件地址变换过程_第1页
计算机操作系统试验源码模拟请求分虚拟存储管理中的硬件地址变换过程_第2页
计算机操作系统试验源码模拟请求分虚拟存储管理中的硬件地址变换过程_第3页
计算机操作系统试验源码模拟请求分虚拟存储管理中的硬件地址变换过程_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验报告模拟请求分页虚拟存储管理中的硬件地址变换过程【实验目的】1. 通过实验加深对请求分贞虚拟存储器管理中的地址变换加深理解。2. 熟练使用所学知识完成地址转换过程。【实验原理】1. 请求分页虚拟存储管理技术是把作业地址空间的全部信息存放在磁盘上。当 作业被选中运行时,先把作业的开始几贞装入主存并启动运行。为此在为作业建立贞表时,应说明哪些贞已在主存,哪些贞不在主存。贞表的格式如表 1-1所示,其 中,”标志”表示对应贞是否已经装入主存:1”表示对应贞已经装入主存;0”表示对应贞未装入主存;主存快号”表示该贞对应的主存快号;修改位”指示该贞调入主存后是否修改过的标志。外存地址”指示该贞所在的

2、外存地址。自己设计一个主存分块表。2. 作业业执行时,指令中的逻辑地址指出参加运算的操作数 (或指令)地址中的贞 号和贞内偏移量。硬件地址转换机构按页号查贞表。若该贞的标志为1 ,则表示该贞已在主存,从而找到该贞对应的主存块号。 根据关系式:绝对地址=块号*块的长度+贞内偏移量计算出欲访问的主存地址。由丁贞号为 2的整次籍,所以只要将块号与贞内偏移 量相拼接,放入主存地址寄存器即可。按照该地址取指令或取操作数,完成指定的 操作。3. 设计一个”地址变换”程序,模拟硬件地址变化过程。当访问的贞在主存时,则形 成绝对地址后,不去模拟指令的执行,而是输出被转换的地址。当访问的贞不在主 存时,输出”该

3、贞不在主存,产生缺贞中断”,以表示产生一次缺贞中断。4. 进行缺贞中断处理。中断返回后,重新执行该指令。假定主存的每块长度为64个字节,现有一个具有8页的作业,系统为其分配了 4 个主存块(即m=4),且最多分4块。其中第0页至第3页已经装入主存。该作业 的贞表如表10 2所小。地址变换算法框图如图10 1所示。运行设计的地址变换程序,显示或打印运行结果。因为只是模拟地址变换,并不 模拟指令的执行,故不考虑上述指令的操作结果。页号标志主存号修改位外存地址表10-1贞表页号标志主存号外存地址修改位0150111118012121901303110015040017500256021270213表

4、10-2贞表1【实验源码】#include<iostream>using namespace std;struct Pageint pno;页号int flag;/ 标志位int cno;/主存号int modf;/ 修改位int addr;/外存地址Page;void changeaddr(struct Page p,int logaddr)/她址变换int j=logaddr/64;/ 对应的块号int k=logaddr%64;/对应的偏移量int flag=0;int addr;for(int i=0;i<8;i+)if(pi.pno=j)/找到对应的页号if(pi.

5、flag=1)/ 页面标志为 1addr=o*64+k;cout<<"物理地址为:"<<addr<<endl;cout<<"详细信息:"<<”t 页面号:"<<pi.pno<<"t 主存 号:"<<o<<"t 偏移量:"<<k<<endl;flag=1;break;if(flag=0)cout<<"该贞不在主存,产生缺贞中断"

6、;<<endl;void main()(int menu;int ins;/指令逻辑地址struct Page p8;p0.pno=0;p0.flag=1;o=5;p0.modf=1;p0.addr=011;p1.pno=1;p1.flag=1;o=8;p1.modf=1;p1.addr=012;p2.pno=2;p2.flag=1;o=9;p2.modf=0;p2.addr=013;p3.pno=3;p3.flag=1;o=10;p3.modf=0;p3.addr=015;p4.pno=4;p4.flag=0;p4.addr=017;p5.

7、pno=5;p5.flag=0;p5.addr=025;p6.pno=6;p6.flag=0;p6.addr=212;p7.pno=7;p7.flag=0;p7.addr=213;cout<<"欢迎使用分贞虚拟存储器硬件地址变换算法 "<<endl;cout<<"tt1.输入指令 tt"<<endl;cout<<"tt2.退出程序 tt"<<endl;cout<<"欢迎使用分贞虚拟存储器硬件地址变换算法 "<<endl;

8、cout<<endl<<"请输入您的选择:"cin>>menu;while(menu)(switch(menu)(case 1:coutvv"请输入指令的逻辑地址:"cin>>ins;changeaddr(p,ins);break;case 2:cout<<"谢谢使用,下次再见!"<<endl;exit(0);break;default:cout<<"输入有误,请重新输入!"<<endl;break;cout<&l

9、t;endl<<"请输入您的选择:"cin>>menu;【实验截图】gH八请求分页虔拟存储管理中的硬件地址变换Detmg请求分页虔拟存储管理中的硬件地.-一厂1.2.欢迎使用分页虚拟在储器硬件地址变换算法 :迎二:躅:二请请籍赫入您的选择H输入指令的逻辑地址: 理弛±1为:382细信息二页面号121王存亏泻偏移里:62请请籍揄入您的选择T 输入指令的逻辑地址: 理弛土正为:569 细信息二 页面号:1王存号泅请请籍赫入您的选择H 输入指令的逻辑弛址: 理弛±1为:578 细信息二页面号130偏移里:2请请籍揄入您的选择T 橘入指令的逻辑地址: 瑾弛640 细信息二 页面号:2王存号偏移量:0"您的选择H彳入指令的逻辑弛址:257I不在主存,产生缺页中断青锄入您的选择:2秘制使用,下次再见Iress any key to continue【实验小结】1. 通过对实验要求的解读,能够理解题目提出的要求,并能够按照要求进行贞 表的初始化以及相关主存的分配工作。2. 实验中使用的地址变换机构可通过逻辑地址与主存块长度作取整运算获得逻 辑地址对应的页面号,再通过求余运算获得贞内偏移地址。3. 实验的不足与可改进之处:当逻辑

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论