




如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
页面替换算法实验报告 第一篇:页面替换算法实验报告操作系统页面替换算法实验报告姓名:沈慧班级:计091学号:0913022006页面替换算法一.目的和要求(一)目的存储管理的主要功能之一是合理地分配空间。请求页式管理是一种常用的虚拟存储管理技术。本实验的目的是通过请求页式管理中页面置换算法的模拟设计,来了解虚拟存储技术的特点,掌握请求页式管理的页面置换算法。(二)要求模拟页式虚拟存储管理中硬件的地址转换和缺页中断,并用最佳页面替换算法(OPT)、最近最少使用页面替换算法(LRU)、先进先出调度算法(FIFO)处理缺页中断。二、算法描述1.先进先出(FIFO)置换算法的思路该算法总是淘汰最先进入内存的页面,即选择在内存中驻留时间最久的页面予以淘汰。该算法实现简单,只需把一个进程已调入内存的页面,按照先后次序连接成一个队列,并设置一个替换指针,使它总指向最老的页面。2.最近久未使用(LRU)置换算法的思路最近久未使用置换算法的替换规则,是根据页面调入内存后的使用情况来进行决策的。该算法赋予每个页面一个访问字段,用来记录一个页面自上次被访问以来所经历的时间,当需淘汰一个页面的时候选择现有页面中其时间值最大的进行淘汰。3.最佳(OPT)置换算法的思路其所选择的被淘汰的页面,奖是以后不使用的,或者是在未来时间内不再被访问的页面,采用最佳算法,通常可保证获得最低的缺页率。三、方案设计1、数据结构classRAMPAGE{protected:int*RAM;//内存各块,存放各页intramcount;//内存块数int*PAGE;//接收用户要访问的各页intpagecount;//页数int*CHANGEPAGE;//存放淘汰的各页intmaxpage;//页的最大页号intshortage;//缺页的数量public:RAMPAGE();//初始化voidinput();//用户输入voidFIFO();//FIFO算法voidLRU();//LRU算法voidOPT();//OPT算法~RAMPAGE();//释放空间};三、测试与运行1、输入要测试的数据2、采用FIFO方法进行页面置换3、采用LRU算法进行页面置换4、采用OPT算法进行页面置换源程序代码:#include#include#includeusingnamespacestd;classRAMPAGE{protected:int*RAM;//内存各块,存放各页intramcount;//内存块数int*PAGE;//接收用户要访问的各页intpagecount;//页数int*CHANGEPAGE;//存放淘汰的各页intmaxpage;//页的最大页号intshortage;//缺页的数量public:RAMPAGE();//初始化voidinput();//用户输入voidFIFO();//FIFO算法voidLRU();//LRU算法voidOPT();//OPT算法~RAMPAGE();//释放空间};RAMPAGE::RAMPAGE(){ramcount=0;//内存块数pagecount=0;//页数maxpage=0;//页的最大页号}voidRAMPAGE::input()//用户输入{cout>ramcount;//用户输入块数RAM=newint[ramcount];//内存各块,存放各页cout>page;//用户输入页号PAGE2[i]=page;//该页进入预分配空间if(page>maxpage)maxpage=page;//找出最大页i++;}pagecount=i;//记录用户输入的页数CHANGEPAGE=newint[pagecount];PAGE=newint[pagecount];//接收用户要访问的各页for(i=0;i}delete[]PAGE2;//释放预申请空间}voidRAMPAGE::FIFO(){cout=maxpage||ramcount>=pagecount){coutintj=0,k=0,l=0;//j记录内存序号,k记录淘汰页空间序号,l记录未被写入的内存块号coutin=0;for(j=0;j}if(in==0)//页不在内存块{shortage++;if(RAM[ramcount-1]!=-1)//最后一个内存块标记为-1,表示它未被写入过页号{CHANGEPAGE[k]=RAM[l];//!-1,则要进行淘汰,记录要被淘汰的页号k++;}RAM[l]=PAGE[i];//新页写入块,将该块初次写入l++;if(l==ramcount)l=0;}}for(j=0;j{coutcoutcout}voidRAMPAGE::LRU(){cout=maxpage||ramcount>=pagecount){co

安双****文章
实名认证
内容提供者


最近下载