LFU页面置换算法_第1页
LFU页面置换算法_第2页
LFU页面置换算法_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

#include#include#define m 9 /m表示页数#define n 3 /n表示物理块数#define o 10/表示最大物理块的个数float interrupt=0; /产生缺页中断的次数int k=0; /指向最先进入内存的页,即被淘汰的页int PageTablem+1; /定义页表,总共m页,数组中数值是状态位 =1表示该页在内存中,=0表示不在内存中,默认处置为0int Blockn; /定义物理块,总共n个,数组中数值表示对应物理块中装入的页的编号int process20; /进程访问序列int number=1; /用于标志访问次数void Visit(int); /访问函数static g=0;int *pa=new int o;/* 主函数*/void main (void) int input; cout某进程共有m页,请输入进程访问序列(范围:0-minput; for(int length=0;input!=9;length+) /将输入序列存入process数组,长度为length processlength=input; cininput; int j=0;for(j=0;jn;j+)paj=0;for(j=0;jn;j+)Blockj=-1; for(j=0;jlength;j+) Visit(processj); /依次访问页processj cout共length次访问,产生interrupt次缺页中断,缺页率为 interrupt/lengthn;/* 访问函数*/void Visit(int x)/j是实参传给x,即页面的编号int i,j,l=0,q=0,w=0;coutsetw(2)number: 访问页x ; /第number次访问,访问页x for(i=0;in;i+) if(Blocki=-1) /访问页x时没有命中,且内存未装满,产生缺页中断,直接调入访问页 interrupt+; /缺页中断次数加1 PageTablex=1; /修改状态位 Blocki=x; /页x调入物理块 cout缺页中断 内存未满 调入页x 物理块内的页为 ; for(j=0;j=i;j+)coutBlockj ; /输出物理块内的页号 coutn; break; if(PageTablex=1) /访问页x时命中 for(j=0;jn;j+) if(Blockj=x) break; paj+; cout命中 物理块内的页为 ; for(j=0;jn & Blockj!=-1;j+)coutBlockj ; /输出物理块内的页号 coutn; break; if(i=n) /访问页x时内存已装满,且没有命中,产生缺页中断,调入该页至内存,淘汰最先进入的页 int min=0;for(j=0;jn;j+)if(pajmin | paj=min)min=paj;for(l=0;ln;l+)if(pal=min)pal=0;cout缺页中断 淘汰页Blockl 调入页x 物理块内的页为 ;interrupt+; /缺页中断次数加1PageTableBlockl=0; /页Blockk被淘汰,状态位修改为 0Blockl=x; /页x调入物理块PageTablex=1; /页x状态

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论