




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
(VR虚拟现实)虚岫储管理器的面调度算法实现20XX年XX月三、虚拟存储管理器的页面调度页面调度算法主要有:FIFO,最近最少使用调度算法(LRU),最近最不常用调度算法(LFU),最佳算法(OPT)输入:页面流文件,其中存储的是一系列页面号(页面号用整数表示,用空格作为分隔符),用来模拟待换入的页面。下面是一个示意:123412512345处理要求:程序运行时,首先提示"请输入页面流文件的文件名:”,输入一个文件名后,程序将读入该文件中的有关数据。初始条件:采用三个页框,初始时均为空。根据第二次机会算法对数据进行处理。输出要求:每换入一个页面(即:每读入一个页面号),判断是否有页面需要被换出。若有,把被换出的页面号输出到屏幕上;若没有,则输出一个"*”号。文件名约定提交的源程序名字:sourceXXX.c或者sourceXXX.cpp(依据所用语言确定)输入文件名字:可由用户指定其中:XXX为账号。.测试说明:测试教师将事先准备好一组文件(格式为*.txt),从中为每个程序随机指定一至三个作为输入文件(被测试者需从键盘输入指定文件的文件名),并查看程序输出结果。.第二次机会算法:对FIFO算法做如下简单的修改:发生替换时,先检查最老页面的R(访问)位。如果为0,那么此页面是最早被换入的,而且近期没有被访问,可以立刻被替换掉;如果R位为1,就清除R位,并修改它的装入时间,使它就像刚被装入的新页面一样,然后继续搜索可替换的最老页面。我没做出来 页面调度算法主要有:FIFO,最近最少使用调度算法(LRU),最近最不常用调度算法(LFU),最佳算法(OPT)这几种算法的调度都有可能在考试中碰到。关于这一类型,大家还可以参看书本251页的实验指导。如2001年考题:要求:1。 实现三种算法:FIFO,最近最少使用调度算法(LRU),最近最不常用调度算法(LFU)2。 页面序列从指定的文本文件(TXT文件)中取出3。 输出:第一行:每次淘汰的页面号第二行:显示缺页的总次数本程序包括:FIFO,最近最少使用调度算法(LRU),最近最不常用调度算法(LFU)第二次机会算法VC++调试通过(C)copyrightbyNeo欢迎大家测试请问题请Email:sony006@163.com*/#include<stdio.h>#include<string.h>#include<iostream.h>constintMAXSIZE=1000;//定义最大页面数constintMAXQUEUE=3;//定义页框数typedefstructnode(intloaded;inthit;)page;pagepages[MAXQUEUE];//定义页框表intqueue[MAXSIZE];intquantity;//初始化结构函数voidinitial()(inti;for(i=0;i<MAXQUEUE;i++){pages[i].loaded=-1;pages[i].hit=0;}for(i=0;i<MAXSIZE;i++){queue[i]=-1;}quantity=0;}//初始化页框函数voidinit()(inti;for(i=0;i<MAXQUEUE;i++){pages[i].loaded=-1;pages[i].hit=0;}}〃读入页面流voidreadData(){FILE*fp;charfname[20];inti;cout<<"请输入页面流文件名:";cin>>fname;if((fp=fopen(fname,"r"))==NULL){cout<<"错误,文件打不开,请检查文件名";}else{while(!feof(fp)){fscanf(fp,"%d",&queue[quantity]);quantity++;}}cout<<"读入的页面流:";for(i=0;i<quantity;i++){cout<<queue[i]<<"";}}//FIFO调度算法voidFIFO()(inti,j,p,flag;intabsence=0;p=0;cout<<endl<<" "<<endl;cout<<"FIFO调度算法页面调出流:";for(i=0;i<quantity;i++){flag=0;for(j=0;j<MAXQUEUE;j++){if(pages[j].loaded==queue[i]){flag=1;}}if(flag==0){if(absence>=MAXQUEUE){cout<<pages[p].loaded<<"";}pages[p].loaded=queue[i];p=(p+1)%MAXQUEUE;absence++;}}absence-=MAXQUEUE;cout<<endl<<"总缺页数:"<<absence<<endl;}//最近最少使用调度算法(LRU)voidLRU(){intabsence=0;inti,j;intflag;for(i=0;i<MAXQUEUE;i++){pages[i].loaded=queue[i];}cout<<endl<<" "<<endl;cout<<"最近最少使用调度算法(LRU)页面流:";for(i=MAXQUEUE;i<quantity;i++){flag=-1;for(j=0;j<MAXQUEUE;j++){if(queue[i]==pages[j].loaded){flag=j;}}//CAUTIONpages[0]是队列头if(flag==-1){//缺页处理cout<<pages[0].loaded<<"";for(j=0;j<MAXQUEUE-1;j++){pages[j]=pages[j+1];}pages[MAXQUEUE-1].loaded=queue[i];absence++;}else{〃页面已载入pages[quantity]=pages[flag];for(j=flag;j<MAXQUEUE-1;j++){pages[j]=pages[j+1];}pages[MAXQUEUE-1]=pages[quantity];}}cout<<endl<<"总缺页数:"<<absence<<endl;}//最近最不常用调度算法(LFU)voidLFU()(inti,j,p;intabsence=0;intflag;for(i=0;i<MAXQUEUE;i++){pages[i].loaded=queue[i];}cout<<endl<<" "<<endl;cout<<"最近最不常用调度算法(LFU)页面流:";for(i=MAXQUEUE;i<quantity;i++){flag=-1;for(j=0;j<MAXQUEUE;j++){if(pages[j].loaded==queue[i]){flag=1;pages[j].hit++;}}if(flag==-1){//缺页中断p=0;for(j=0;j<MAXQUEUE;j++){if(pages[j].hit<pages[p].hit){p=j;}}cout<<pages[p].loaded<<"";pages[p].loaded=queue[i];for(j=0;j<MAXQUEUE;j++){pages[j].hit=0;}absence++;}}cout<<endl<<"总缺页数:"<<absence<<endl;}//第二次机会算法voidsecond()(inti,j,t;intabsence=0;intflag,temp;for(i=0;i<MAXQUEUE;i++){pages[i].loaded=queue[i];}cout<<endl<<" "<<endl;cout<<"第二次机会算法页面流:";for(i=MAXQUEUE;i<quantity;i++){flag=-1;for(j=0;j<MAXQUEUE;j++){if(pages[j].loaded==queue[i]){flag=1;pages[j].hit=1;}}if(flag==-1){//缺页处理t=0;while(t==0){if(pages[0].hit==0){cout<<pages[0].loaded<<"";for(j=0;j<MAXQUEUE-1;j++){pages[j]=pages[j+1];}pages[MAXQUEUE-1].loaded=queue[i];pages[MAXQUEUE-1].hit=0;t=1;}else{temp=pages[0].loaded;for(j=0;j<MAXQUEUE-1;j++)(pages[j]=pages[j+1];}pages[MAXQUEUE-1].loaded=temp;pages[MAXQUEUE-1].hit=0;}}absence++;}}cout<<endl<<"总缺页数:"<<absence<<endl;}〃显示版权信息函数voidversion()(cout<<endl<<endl;cout<<"| 1"<<endl;cout<<"|虚拟存储管理器的页面调度|"<<endl;cout<<"| 1"<<endl;cout<<"|(c)AllRightReservedNe
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 出售内蒙平房合同范本
- 买房中介返现合同范例
- 中介贷款协议合同范例
- 加油船出租合同范本
- 基于改进小生境粒子群算法和智能软开关的主动配电网优化重构研究
- 铜基MOF光热类纳米酶抑制细菌生物膜及其促进慢性创面愈合应用研究
- 乡村荒地租赁合同范例
- 桥边坡支护施工方案
- 人社劳动合同范例
- 基于服务设计的数据中心巡检机器人设计研究
- 北京大兴区公开招考社区服务站专职工作者高频重点提升(共500题)附带答案详解
- 2024年中国作家协会所属单位招聘考试真题
- 2025年房地产年度工作计划
- 高血压性视网膜病变
- 2025山东能源集团中级人才库选拔管理单位笔试遴选500模拟题附带答案详解
- 医院后勤管理与服务提升方案
- GB/T 18281.1-2024医疗保健产品灭菌生物指示物第1部分:通则
- 项目一 CA6140车床的操作
- DB21T 2760-2023 装配式住宅建筑设计规程
- 2024年电力通信设备运检员(技师)职业鉴定考试题库(浓缩400题)
- 封建时代的欧洲“法兰克王国”教学课件
评论
0/150
提交评论