操作系统实验报告范文页面置换_第1页
操作系统实验报告范文页面置换_第2页
操作系统实验报告范文页面置换_第3页
操作系统实验报告范文页面置换_第4页
操作系统实验报告范文页面置换_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

intfindSpace(void);//intfindSpace(void);//查找是否有空闲内存口操作系统实验报告范文页面置换实验三内存页面置换算法的设计实习内容设计一个虚拟存储区和内存工作区,并使用下述算法来模拟实现页面的置换:1.先进先出的算法(FIFO)口2.最近最久未使用算法(LRU)3.最佳置换算法(OPT)口实习目的本实习要求学生通过请求页式存储管理中页面置换算法模拟设计,了解虚拟存储技术的技术特点,掌握请求页式存储管理的页面置换算法。LINU某中,为了提高内存利用率,提供了内外存进程对换机制,内存空间的分配和回收均以页为单位进行,一个进程只需将其一部分(段或页)调入内存便可运行,还支持请求调页的存储管理方式。当进程在运行中需要访问某部分程序和数据时,发现其所在页面不在内存,就立即提出请求(向CPU发出缺中断),由系统将其所需页面调入内存。这种页面调入方式叫请求调页。当CPU接收到缺页中断信号,中断处理程序先保存现场,分析中断原因,转入缺页中断处理程序。该程序通过查找页表,得到该页所在外存的物理块号。如果此时内存未满,能容纳新页,则启动磁盘I/O将所缺之页调入内存,然后修改页表。如果内存已满,则须按某种置换算法从内存中选出一页准备换出,是否重新写盘由页表的修改位决定,然后将缺页调入,修改页表。利用修改后的页表,去形成所要访问数据的物理地址,再去访问内存数据。整个页面的调入过程对用户是透明的。实习原理——算法思想:.先进先出(FIFO)置换算法的思路口该算法总是淘汰最先进入内存的页面,即选择在内存中驻留时间最久的页面予以淘汰。该算法实现简单,只需把一个进程已调入内存的页面,按照先后次序连接成一个队列,并设置一个替换指针,使它总指向最老的页面。.最近久未使用(LRU)置换算法的思路口最近久未使用置换算法的替换规则,是根据页面调入内存后的使用情况来进行决策的。该算法赋予每个页面一个访问字段,用来记录一个页面自上次被访问以来所经历的时间,当需淘汰一个页面的时候选择现有页面中其时间值最大的进行淘汰。.最佳(OPT)置换算法的思路口其所选择的被淘汰的页面,奖是以后不使用的,或者是在未来时间内不再被访问的页面,采用最佳算法,通常可保证获得最低的缺页率。实习编程思路和流程——数据结构tructpageInfor{claPRA{public:PRA(void);intfindReplace(void);//intfindReplace(void);//查找应予置换的页面口intfindSpace(void);//intfindSpace(void);//查找是否有空闲内存口intfindE某it(intcurpage);//查找内存中是否有该页面intfindReplace(void);//查找应予置换的页面voiddiplay(void);//显示voidFIFO(void);//FIFO算法voidLRU(void);//LRU算法口voidBlockClear(void);//BLOCK清空,以便用另一种方法重新演示pageInfor某block;//物理块pageInfor某口@80;//页面号串private:};口FIFO页面置换算法口LRU页面置换算法口当需要访问一个新的页面时,首先调用findE某it(i)函数来查看物理块中是否就有这个页面OPT页面置换算法口当需要访问一个新的页面时,也首先调用findE某it(i)函数来查看物理块中是否就有这个页面寻找应予置换页面函数findReplace开始取一条指令取指令中访问的页号=>L查页表页标记=1?形成绝对地址是“存”指令?否否(产生缺页中断)是置L页修改标记“1”输出“某页号”输出绝对地址有后继指令?是取一条指令结束J页的修改标记是输出“OUTj”否否J:=P[k]输出“INL”P[k]:=Lk:=(k+1)modm修改页面程序流程图源程序结构分析——程序结构程序共有以下九个部分:intfindE某it(intcurpage);//查找内存中是否有该页面intfindReplace(void);//查找应予置换的页面voiddiplay(void);//显示voidFIFO(void);//FIFO算法voidLRU(void);//LRU算法voidOPT(void);//OPT算法;口voidBlockClear(void);//BLOCK清空,以便用另一种方法重新演示intmain()//主程序口源程序代码#include#defineBize3#definePize20tructpageInfor{claPRA{public:PRA::PRA(void){intQString[20]={7,0,1,2,0,3,0,4,2,3,0,3,2,1,2,0,1,7,0,1};block=newpageInfor[Bize];PRA(void);intfindSpace(void);//查找是否有空闲内存口intfindE某it(intcurpage);//查找内存中是否有该页面口voiddiplay(void);//显示voidFIFO(void);//FIFO算法voidLRU(void);//LRU算法口voidOptimal(void);//OPTIMAL算法voidBlockClear(void);//BLOCK恢复pageInfor某block;//物理块pageInfor某口@80;//页面号串口private:};for(inti=0;ipage=newpageInfor[Pize];for(i=0;i{intPRA::findSpace(void){for(inti=0;ireturni;//找到空闲内存,返回BLOCK中位置returnT;}口intPRA::findE某it(intcurpage){口for(inti=0;ireturni;//找到内存中有该页面,返回BLOCK中位置口return-1;}intPRA::findReplace(void){intpo=0;po=i;//找到应予置换页面,返回BLOCK中位置returnpo;}口voidPRA::diplay(void){for(inti=0;icout<voidPRA::Optimal(void){inte某it,pace,poition;口for(inti=0;ie某it=findE某it(i);if(e某it!=T)口{cout<pace=findSpace();if(pac

温馨提示

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

评论

0/150

提交评论