欢迎来到天天文库
浏览记录
ID:55027711
大小:21.50 KB
页数:5页
时间:2020-04-26
《实验3、FIFO算法模拟.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验三、FIFOLRU算法模拟一、实验目的一个作业有多个进程,处理机只分配固定的主存块供该作业执行。往往块数小于进程页数,当请求调页程序调进一个块时,可能碰到主存中并没有空闲块的情况,此时就产生了在主存中淘汰哪个块的情况。本实验要求模拟FIFO算法/二、实验原理此算法的实质是,总是选择在主存中停留最长时间的页面淘汰。理由是:最早调入主存的页,其不再被访问的可能性最大。三、实验环境1、pc2、vc++四、程序源代码:#defineMAXSIZE20#includevoidmain(){intlabel=0;//标记此页是否已
2、经装入内存intinput=0;//用于输入作业号intworknum=0;//记录作业个数intstoresize=0;//系统分配的存储块数intinterrupt=0;//中断次数intquence[MAXSIZE];//队列,FIFO算法的主要数据结构intworkstep[MAXSIZE];//用于记录作业走向/*初始化*/for(inti=0;i>storesize;cout<<"请输入作业走向(输入0结束):
3、";for(intj=0;j>input;workstep[j]=input;if(input==0){cout<<"输入结束!";break;}worknum++;}if(workstep[0]==0){cout<<"未输入任何作业,系统将退出!";return;}cout<<"置换情况如下:";for(intk=0;k4、l++){/*是否有相等的页号*/if(quence[l]==workstep[k]){cout<<"内存中有"<5、0){cout<<"发生中断,将"<6、U,加深对LRU算法的认识。一、实验原理最近最久未使用页面置换算法(LRU)当需要淘汰某一页时,选择在最近一段时间里最久没有被使用过的页淘汰。其基本原理为:如果某一个页面被访问了,它很可能还要被访问;相反,如果它长时间不被访问,再最近未来是不大可能被访问的。LRU采用页号栈的实现方法。最近访问的页放在栈顶,较早访问的页往栈底移动。总是先淘汰处于栈底的页。#defineMAXSIZE20#includevoidmain(){intinput=0;//用于输入作业号intworknum=0;//输入的作业个数intstores7、ize=0;//系统分配的存储区块数intinterrupt=0;//缺页中断次数intstack[MAXSIZE];//栈,LRU算法的主要数据结构intworkstep[MAXSIZE];//记录作业走向/*初始化*/for(inti=0;i>storesize;cout<<"请输入作业的页面走向(输入0结束):";for(intj=0;j8、>>input;workstep[j]=input;if(input==0){cout<<"输入结束!";break;}worknu
4、l++){/*是否有相等的页号*/if(quence[l]==workstep[k]){cout<<"内存中有"<5、0){cout<<"发生中断,将"<6、U,加深对LRU算法的认识。一、实验原理最近最久未使用页面置换算法(LRU)当需要淘汰某一页时,选择在最近一段时间里最久没有被使用过的页淘汰。其基本原理为:如果某一个页面被访问了,它很可能还要被访问;相反,如果它长时间不被访问,再最近未来是不大可能被访问的。LRU采用页号栈的实现方法。最近访问的页放在栈顶,较早访问的页往栈底移动。总是先淘汰处于栈底的页。#defineMAXSIZE20#includevoidmain(){intinput=0;//用于输入作业号intworknum=0;//输入的作业个数intstores7、ize=0;//系统分配的存储区块数intinterrupt=0;//缺页中断次数intstack[MAXSIZE];//栈,LRU算法的主要数据结构intworkstep[MAXSIZE];//记录作业走向/*初始化*/for(inti=0;i>storesize;cout<<"请输入作业的页面走向(输入0结束):";for(intj=0;j8、>>input;workstep[j]=input;if(input==0){cout<<"输入结束!";break;}worknu
5、0){cout<<"发生中断,将"<6、U,加深对LRU算法的认识。一、实验原理最近最久未使用页面置换算法(LRU)当需要淘汰某一页时,选择在最近一段时间里最久没有被使用过的页淘汰。其基本原理为:如果某一个页面被访问了,它很可能还要被访问;相反,如果它长时间不被访问,再最近未来是不大可能被访问的。LRU采用页号栈的实现方法。最近访问的页放在栈顶,较早访问的页往栈底移动。总是先淘汰处于栈底的页。#defineMAXSIZE20#includevoidmain(){intinput=0;//用于输入作业号intworknum=0;//输入的作业个数intstores7、ize=0;//系统分配的存储区块数intinterrupt=0;//缺页中断次数intstack[MAXSIZE];//栈,LRU算法的主要数据结构intworkstep[MAXSIZE];//记录作业走向/*初始化*/for(inti=0;i>storesize;cout<<"请输入作业的页面走向(输入0结束):";for(intj=0;j8、>>input;workstep[j]=input;if(input==0){cout<<"输入结束!";break;}worknu
6、U,加深对LRU算法的认识。一、实验原理最近最久未使用页面置换算法(LRU)当需要淘汰某一页时,选择在最近一段时间里最久没有被使用过的页淘汰。其基本原理为:如果某一个页面被访问了,它很可能还要被访问;相反,如果它长时间不被访问,再最近未来是不大可能被访问的。LRU采用页号栈的实现方法。最近访问的页放在栈顶,较早访问的页往栈底移动。总是先淘汰处于栈底的页。#defineMAXSIZE20#includevoidmain(){intinput=0;//用于输入作业号intworknum=0;//输入的作业个数intstores
7、ize=0;//系统分配的存储区块数intinterrupt=0;//缺页中断次数intstack[MAXSIZE];//栈,LRU算法的主要数据结构intworkstep[MAXSIZE];//记录作业走向/*初始化*/for(inti=0;i>storesize;cout<<"请输入作业的页面走向(输入0结束):";for(intj=0;j8、>>input;workstep[j]=input;if(input==0){cout<<"输入结束!";break;}worknu
8、>>input;workstep[j]=input;if(input==0){cout<<"输入结束!";break;}worknu
此文档下载收益归作者所有