2020年(VR虚拟现实)虚拟存储管理器的面调度算法实现

上传人:精****库 文档编号:136578037 上传时间:2020-06-29 格式:DOC 页数:10 大小:275KB
返回 下载 相关 举报
2020年(VR虚拟现实)虚拟存储管理器的面调度算法实现_第1页
第1页 / 共10页
2020年(VR虚拟现实)虚拟存储管理器的面调度算法实现_第2页
第2页 / 共10页
2020年(VR虚拟现实)虚拟存储管理器的面调度算法实现_第3页
第3页 / 共10页
2020年(VR虚拟现实)虚拟存储管理器的面调度算法实现_第4页
第4页 / 共10页
2020年(VR虚拟现实)虚拟存储管理器的面调度算法实现_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《2020年(VR虚拟现实)虚拟存储管理器的面调度算法实现》由会员分享,可在线阅读,更多相关《2020年(VR虚拟现实)虚拟存储管理器的面调度算法实现(10页珍藏版)》请在金锄头文库上搜索。

1、(VR虚拟现实)虚拟存储管理器的面调度算法实现三、虚拟存储管理器的页面调度页面调度算法主要有:FIFO,最近最少使用调度算法(LRU),最近最不常用调度算法(LFU),最佳算法(OPT)1输入:页面流文件,其中存储的是一系列页面号(页面号用整数表示,用空格作为分隔符),用来模拟待换入的页面。下面是一个示意:1234125123452处理要求:程序运行时,首先提示“请输入页面流文件的文件名:”,输入一个文件名后,程序将读入该文件中的有关数据。初始条件:采用三个页框,初始时均为空。根据第二次机会算法对数据进行处理。3输出要求:每换入一个页面(即:每读入一个页面号),判断是否有页面需要被换出。若有,

2、把被换出的页面号输出到屏幕上;若没有,则输出一个“*”号。4文件名约定提交的源程序名字:sourceXXX.c或者sourceXXX.cpp(依据所用语言确定)输入文件名字:可由用户指定其中:XXX为账号。5测试说明:测试教师将事先准备好一组文件(格式为*.txt),从中为每个程序随机指定一至三个作为输入文件(被测试者需从键盘输入指定文件的文件名),并查看程序输出结果。6第二次机会算法:对FIFO算法做如下简单的修改:发生替换时,先检查最老页面的R(访问)位。如果为0,那么此页面是最早被换入的,而且近期没有被访问,可以立刻被替换掉;如果R位为1,就清除R位,并修改它的装入时间,使它就像刚被装入

3、的新页面一样,然后继续搜索可替换的最老页面。我没做出来页面调度算法主要有:FIFO,最近最少使用调度算法(LRU),最近最不常用调度算法(LFU),最佳算法(OPT)这几种算法的调度都有可能在考试中碰到。关于这一类型,大家还可以参看书本251页的实验指导。如2001年考题:要求:1。实现三种算法:FIFO,最近最少使用调度算法(LRU),最近最不常用调度算法(LFU)2。页面序列从指定的文本文件(TXT文件)中取出3。输出:第一行:每次淘汰的页面号第二行:显示缺页的总次数本程序包括:FIFO,最近最少使用调度算法(LRU),最近最不常用调度算法(LFU)第二次机会算法VC+调试通过(C)cop

4、yrightbyNeo欢迎大家测试请问题请Email:*/#include#include#includeconstintMAXSIZE=1000;/定义最大页面数constintMAXQUEUE=3;/定义页框数typedefstructnodeintloaded;inthit;page;pagepagesMAXQUEUE;/定义页框表intqueueMAXSIZE;intquantity;/初始化结构函数voidinitial()inti;for(i=0;iMAXQUEUE;i+)pagesi.loaded=-1;pagesi.hit=0;for(i=0;iMAXSIZE;i+)queue

5、i=-1;quantity=0;/初始化页框函数voidinit()inti;for(i=0;iMAXQUEUE;i+)pagesi.loaded=-1;pagesi.hit=0;/读入页面流voidreadData()FILE*fp;charfname20;inti;coutfname;if(fp=fopen(fname,r)=NULL)cout错误,文件打不开,请检查文件名;elsewhile(!feof(fp)fscanf(fp,%d,&queuequantity);quantity+;cout读入的页面流:;for(i=0;iquantity;i+)coutqueuei;/FIFO调度

6、算法voidFIFO()inti,j,p,flag;intabsence=0;p=0;coutendl-endl;coutFIFO调度算法页面调出流:;for(i=0;iquantity;i+)flag=0;for(j=0;j=MAXQUEUE)coutpagesp.loaded;pagesp.loaded=queuei;p=(p+1)%MAXQUEUE;absence+;absence-=MAXQUEUE;coutendl总缺页数:absenceendl;/最近最少使用调度算法(LRU)voidLRU()intabsence=0;inti,j;intflag;for(i=0;iMAXQUEU

7、E;i+)pagesi.loaded=queuei;coutendl-endl;cout最近最少使用调度算法(LRU)页面流:;for(i=MAXQUEUE;iquantity;i+)flag=-1;for(j=0;jMAXQUEUE;j+)if(queuei=pagesj.loaded)flag=j;/CAUTIONpages0是队列头if(flag=-1)/缺页处理coutpages0.loaded;for(j=0;jMAXQUEUE-1;j+)pagesj=pagesj+1;pagesMAXQUEUE-1.loaded=queuei;absence+;else/页面已载入pagesqua

8、ntity=pagesflag;for(j=flag;jMAXQUEUE-1;j+)pagesj=pagesj+1;pagesMAXQUEUE-1=pagesquantity;coutendl总缺页数:absenceendl;/最近最不常用调度算法(LFU)voidLFU()inti,j,p;intabsence=0;intflag;for(i=0;iMAXQUEUE;i+)pagesi.loaded=queuei;coutendl-endl;cout最近最不常用调度算法(LFU)页面流:;for(i=MAXQUEUE;iquantity;i+)flag=-1;for(j=0;jMAXQUEU

9、E;j+)if(pagesj.loaded=queuei)flag=1;pagesj.hit+;if(flag=-1)/缺页中断p=0;for(j=0;jMAXQUEUE;j+)if(pagesj.hitpagesp.hit)p=j;coutpagesp.loaded;pagesp.loaded=queuei;for(j=0;jMAXQUEUE;j+)pagesj.hit=0;absence+;coutendl总缺页数:absenceendl;/第二次机会算法voidsecond()inti,j,t;intabsence=0;intflag,temp;for(i=0;iMAXQUEUE;i+)

10、pagesi.loaded=queuei;coutendl-endl;cout第二次机会算法页面流:;for(i=MAXQUEUE;iquantity;i+)flag=-1;for(j=0;jMAXQUEUE;j+)if(pagesj.loaded=queuei)flag=1;pagesj.hit=1;if(flag=-1)/缺页处理t=0;while(t=0)if(pages0.hit=0)coutpages0.loaded;for(j=0;jMAXQUEUE-1;j+)pagesj=pagesj+1;pagesMAXQUEUE-1.loaded=queuei;pagesMAXQUEUE-1

11、.hit=0;t=1;elsetemp=pages0.loaded;for(j=0;jMAXQUEUE-1;j+)pagesj=pagesj+1;pagesMAXQUEUE-1.loaded=temp;pagesMAXQUEUE-1.hit=0;absence+;coutendl总缺页数:absenceendl;/显示版权信息函数voidversion()coutendlendl;coutendl;cout虚拟存储管理器的页面调度endl;coutendl;cout(c)AllRightReservedNeoendl;endl;coutversion2004build1122endl;coutendl;coutendlendl;voidmain()version();initial();readData();FIFO();init();LRU();init();LFU();init();second();

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 企业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号