欢迎来到天天文库
浏览记录
ID:54765316
大小:17.00 KB
页数:3页
时间:2020-04-21
《LFU页面置换算法.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、#include#include#definem9//m表示页数#definen3//n表示物理块数#defineo10//表示最大物理块的个数floatinterrupt=0;//产生缺页中断的次数intk=0;//指向最先进入内存的页,即被淘汰的页intPageTable[m+1];//定义页表,总共m页,数组中数值是状态位=1表示该页在内存中,=0表示不在内存中,默认处置为0intBlock[n];//定义物理块,总共n个,数组中数值表示对应物理
2、块中装入的页的编号intprocess[20];//进程访问序列intnumber=1;//用于标志访问次数voidVisit(int);//访问函数staticg=0;int*pa=newint[o];/********************************************************************************主函数*****************************************************************
3、***************/voidmain(void){intinput;cout<<"某进程共有"<>input;for(intlength=0;input!=9;length++)//将输入序列存入process数组,长度为length{process[length]=input;cin>>input;}intj=0;for(j=0;j4、Block[j]=-1;for(j=0;j5、************************************************************/voidVisit(intx)//j是实参传给x,即页面的编号{inti,j,l=0,q=0,w=0;cout<6、次数加1PageTable[x]=1;//修改状态位Block[i]=x;//页x调入物理块cout<<"缺页中断内存未满调入页"<7、lock[j]!=-1;j++)cout<8、9、pa[j]==min)min=pa[j];for(l=0;l10、<<"物理块内的页为";interrupt++;//缺页中断次数加1PageTable[Block[l]]=0;//页Block[k]被淘汰,状态位修改为0Block[l]=x;//页x调入物理块PageTable[x]=1;//页x状态位修改为1for(j=0;j
4、Block[j]=-1;for(j=0;j5、************************************************************/voidVisit(intx)//j是实参传给x,即页面的编号{inti,j,l=0,q=0,w=0;cout<6、次数加1PageTable[x]=1;//修改状态位Block[i]=x;//页x调入物理块cout<<"缺页中断内存未满调入页"<7、lock[j]!=-1;j++)cout<8、9、pa[j]==min)min=pa[j];for(l=0;l10、<<"物理块内的页为";interrupt++;//缺页中断次数加1PageTable[Block[l]]=0;//页Block[k]被淘汰,状态位修改为0Block[l]=x;//页x调入物理块PageTable[x]=1;//页x状态位修改为1for(j=0;j
5、************************************************************/voidVisit(intx)//j是实参传给x,即页面的编号{inti,j,l=0,q=0,w=0;cout<6、次数加1PageTable[x]=1;//修改状态位Block[i]=x;//页x调入物理块cout<<"缺页中断内存未满调入页"<7、lock[j]!=-1;j++)cout<8、9、pa[j]==min)min=pa[j];for(l=0;l10、<<"物理块内的页为";interrupt++;//缺页中断次数加1PageTable[Block[l]]=0;//页Block[k]被淘汰,状态位修改为0Block[l]=x;//页x调入物理块PageTable[x]=1;//页x状态位修改为1for(j=0;j
6、次数加1PageTable[x]=1;//修改状态位Block[i]=x;//页x调入物理块cout<<"缺页中断内存未满调入页"<7、lock[j]!=-1;j++)cout<8、9、pa[j]==min)min=pa[j];for(l=0;l10、<<"物理块内的页为";interrupt++;//缺页中断次数加1PageTable[Block[l]]=0;//页Block[k]被淘汰,状态位修改为0Block[l]=x;//页x调入物理块PageTable[x]=1;//页x状态位修改为1for(j=0;j
7、lock[j]!=-1;j++)cout<8、9、pa[j]==min)min=pa[j];for(l=0;l10、<<"物理块内的页为";interrupt++;//缺页中断次数加1PageTable[Block[l]]=0;//页Block[k]被淘汰,状态位修改为0Block[l]=x;//页x调入物理块PageTable[x]=1;//页x状态位修改为1for(j=0;j
8、
9、pa[j]==min)min=pa[j];for(l=0;l10、<<"物理块内的页为";interrupt++;//缺页中断次数加1PageTable[Block[l]]=0;//页Block[k]被淘汰,状态位修改为0Block[l]=x;//页x调入物理块PageTable[x]=1;//页x状态位修改为1for(j=0;j
10、<<"物理块内的页为";interrupt++;//缺页中断次数加1PageTable[Block[l]]=0;//页Block[k]被淘汰,状态位修改为0Block[l]=x;//页x调入物理块PageTable[x]=1;//页x状态位修改为1for(j=0;j
此文档下载收益归作者所有