《操作系统》实验六.doc_第1页
《操作系统》实验六.doc_第2页
《操作系统》实验六.doc_第3页
《操作系统》实验六.doc_第4页
《操作系统》实验六.doc_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

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

文档简介

实验六 虚拟存储管理实验目的:存储管理的主要功能之一是合理的分配空间。请求页式管理是一种常用的虚拟存储管理技术。本实验的目的是请求页式存储管理中页面置换算法模拟设计,了解虚拟存储技术的特点,掌握请求页式存储管理的页面置换方法。预习内容:阅读教材计算机操作系统第四章,掌握存储器管理相关概念和原理。实验内容:(1)通过随机数产生一个指令序列,共320条指令。指令的地址按下述原则生成:、 50%的指令是顺序执行的;、 25%的指令是均匀分布在前地址部分;、 25%的指令是均匀分布在后地址部分。具体的实施方法是: 在0,319的指令地址之间随机选取一起点m; 顺序执行一条指令,即执行地址为m+1的指令; 在前地址0,m+1中随机选取一条指令并执行,该指令的地址为m; 顺序执行一条指令,其地址为m+1; 在后地址m+2,319中随机选取一条指令并执行; 重复上述步骤,直至执行320次指令。(2) 将指令序列变换成页地址流 设:页面大小为1K;用户内存容量为4页;用户虚存容量为32K;在用户虚存中,按每K存放10条指令排列虚存地址,即320条指令在虚存中的存放方式为:第0条第9条指令为第0页(对应的虚存地址为0,9);第10条第19条指令为第1页(对应的虚存地址为10,19);.第310条第319条指令为第31页(对应的虚存地址为310,319);按以上方式,用户指令可组成32页。模拟该作业的执行过程。目前它的所有页都还未调入内存。在模拟过程中,如果所访问的指令已在内存,则显示其物理地址,并转下一条指令。如果所访问的指令还未装入内存,则发生缺页,此时需记录缺页的次数,并将相应页调入内存。如果4个内存块中均已装入该作业,则需进行页面置换。最后显示其物理地址,并转下一条指令。(3) 计算并输出下述各种算法在不同的内存容量下的缺页率。 先进先出的算法(FIFO); 最近最少使用算法(LRR); 最佳淘汰法(OPT):先淘汰最不常用的页地址; 最少访问页面算法(LFR); 最近不经常使用算法(NUR)。其中和为选择内容。缺页率=(页面失效次数)/(页地址流长度)在本实验中,页地址流的长度为320,页面失效次数为每次访问相应指令时,该指令所对应的页不在内存的次数。(4) 随机数产生办法关于随机数产生办法,可以使用系统提供函数rand(),分别进行初始化和产生随机数。例如:rand();语句可初始化的一个随机数;a0=10*rand()/32767*319+1;a1=10*rand()/32767*a0;语句可用来产生a0与a1中的随机数。主要实验程序如下:void Init(int Block,int m)/初始化物理块int i;for(i=0;im;i+)Blocki=-1;void creat(int Page,int n)/输入页面串引用号int i;for(i=0;iPagei;void Init1(int Block1,int m1)int i;for(i=0;im1;i+)Block1i=-1;void creat1(int Page,int n1)int i;for(i=0;in1;i+)Pagei;void LRU(int Page,int Block1,int n1,int m1)int i,j,max_stay=0,count=0;int get=-1,flag=-1,block_num=-1;int timeSize;for(i=0;im1;i+)/初始化timetimei=0;for(i=0;in1;i+)for(j=0;jm1;j+)/有空闲物理块时,页面直接驻入内存空闲块if(Block1j=-1)get=j;/物理块j即将(/等待)驻入新页面break;for(j=0;jm1;j+)/查找序号相同的页面 if(Block1j=Pagei)/物理块j中页面与当前期望调入内存的页面相同 timej=0;flag=j;break;for(j=0;jmax_stay) max_stay=timej;block_num=j; /block_num标记当前序号物理块中页面驻留时间最久if(flag=-1)/不存在相同页面if(get!=-1)/物理块即将(/等待)驻入新页面Block1get=Pagei;/存入页面timeget=0;/当前物理块重新计时for(j=0;j=get;j+)/已驻入页面的驻留时间加1timej+;get=-1;else/页面调度置换,序号block_num的物理块是驻留时间最久的Block1block_num=Pagei;timeblock_num=0;for(j=0;jSize;j+)timej+;block_num=-1;max_stay=0;count+;else/待调入页面与序号flag的物理块中页面相同for(j=0;jm1;j+)timej+;flag=-1;for(j=0;jm1;j+)/输出物理块中的页面驻入情况cout Block1j;coutm1)count=count+m1;cout缺页中断次数为:countendl;void FIFO(int Page,int Block,int n,int m)int i,j,max_stay=0,count=0;int get=-1,flag=-1,block_num=-1;int timeSize;for(i=0;im;i+)timei=0;for(i=0;in;i+)for(j=0;jm;j+)if(Blockj=-1)get=j;break;for(j=0;jm;j+)if(Blockj=Pagei)flag=j;break;for(j=0;jmax_stay)max_stay=timej;block_num=j;if(flag=-1)if(get!=-1)Blockget=Pagei;timeget=0;for(j=0;j=get;j+)timej+;get=-1;elseBlockblock_num=Pagei;timeblock_num=0;for(j=0;jSize;j+)timej+

温馨提示

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

评论

0/150

提交评论