ImageVerifierCode 换一换
格式:DOCX , 页数:23 ,大小:16.84KB ,
资源ID:5715918      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5715918.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(页面置换算法模拟OPTFIFO及LRU算法.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

页面置换算法模拟OPTFIFO及LRU算法.docx

1、页面置换算法模拟OPTFIFO及LRU算法操作系统实验报告页面置换算法模拟 OFT、FIFO 和 LRU算法班级: 2013 级软件工程 1 班学号:XXX姓名:萧氏一郎适用标准文案数据构造说明:Memery10 物理块中的页码Page100 页面号引用串Temp10010 协助数组Void print(unsigned int t) 协助函数Viod FIFO ()先进先出页面置换算法Viod LRU ()近来最久未使用置换换算法Viod OPT ()最正确置换算法流程图:开始载入序列号,从第 0 个获得页号将页号放入物理地点中编号NO引用编号大于物理块数Yes号存在物理块中YesNO依据选

2、择的置换算法达成NO页号序列载完?Yes结束出色文档适用标准文案源代码:#include #include /* 全局变量 */int mSIZE; /* 物理块数 */int pSIZE; /* 页面号引用串个数 */static int memery10=0; /* 物理块中的页号 */static int page100=0; /* 页面号引用串 */static int temp10010=0; /* 协助数组 */* 置换算法函数 */void FIFO();void LRU();void OPT();/* 协助函数 */void print(unsigned int t);void

3、 designBy();void download();void mDelay(unsigned int Delay);/* 主函数 */void main()int i,k,code;出色文档适用标准文案printf( 请输入物理块的个数 (M=10):);scanf(%d,&mSIZE);printf( 请输入页面号引用串的个数 (P=100) :);scanf(%d,&pSIZE);puts( 请挨次输入页面号引用串 ( 连续输入,无需分开 ) :);for(i=0;ipSIZE;i+)scanf(%1d,&pagei);download();doputs( 输入的页面号引用串为: );

4、for(k=0;k=(pSIZE-1)/20;k+)for(i=20*k;(ipSIZE)&(i);getch();while (code!=4);getch();/* 载入数据 */void download()printf(nFinish.n 载入成功 !);/* 设置延缓 */void mDelay(unsigned int Delay)unsigned int i;for(;Delay0;Delay-)for(i=0;i124;i+)出色文档适用标准文案printf( b);/* 显示设计者信息 */void print(unsigned int t)int i,j,k,l;int f

5、lag;for(k=0;k=(pSIZE-1)/20;k+)for(i=20*k;(ipSIZE)&(i20*(k+1);i+)if(i+1)%20=0)|(i+1)%20)&(i=pSIZE-1)printf(%dn,pagei);elseprintf(%d ,pagei);for(j=0;jmSIZE;j+)for(i=20*k;(imSIZE+20*k)&(i=j)printf( |%d|,tempij);elseprintf( | |);for(i=mSIZE+20*k;(ipSIZE)&(i20*(k+1);i+)for(flag=0,l=0;lmSIZE;l+)if(tempil=

6、tempi-1l)flag+;if(flag=mSIZE)/* 页面在物理块中 */printf( );elseprintf( |%d|,tempij);/* 每行显示 20 个*/if(i%20=0)continue;printf(n);出色文档适用标准文案printf(-n);printf( 缺页次数: %dtt,t+mSIZE);printf( 缺页率: %d/%dn,t+mSIZE,pSIZE);printf( 置换次数: %dtt,t);printf( 接见命中率:%d%n,(pSIZE-(t+mSIZE)*100/pSIZE);printf(-n);/* 计算过程延缓 */void

7、 compute()int i;printf( 正在进行有关计算,请稍候 );for(i=0;i+30;printf(b);for(i=0;i+30;printf( );for(i=0;i+30;printf(b);/* 先进先出页面置换算法 */void FIFO()int memery10=0;int time10=0; /* 记录进入物理块的时间 */int i,j,k,m;出色文档适用标准文案int max=0; /* 记录换出页 */int count=0; /* 记录置换次数 */* 前 mSIZE个数直接放入 */for(i=0;imSIZE;i+)memeryi=pagei;t

8、imei=i;for(j=0;jmSIZE;j+)tempij=memeryj;for(i=mSIZE;ipSIZE;i+)/* 判断新页面号能否在物理块中 */for(j=0,k=0;jmSIZE;j+)if(memeryj!=pagei)k+;if(k=mSIZE) /* 假如不在物理块中 */count+;/* 计算换出页 */出色文档适用标准文案max=time0time1?0:1;for(m=2;mmSIZE;m+)if(timemtimemax)max=m;memerymax=pagei;timemax=i; /* 记录该页进入物理块的时间 */for(j=0;jmSIZE;j+)

9、tempij=memeryj;elsefor(j=0;jmSIZE;j+)tempij=memeryj;compute();print(count);/* 近来最久未使用置换算法 */void LRU()int memery10=0;出色文档适用标准文案int flag10=0; /* 记录页面的接见时间 */int i,j,k,m;int max=0; /* 记录换出页 */int count=0; /* 记录置换次数 */* 前 mSIZE个数直接放入 */for(i=0;imSIZE;i+)memeryi=pagei;flagi=i;for(j=0;jmSIZE;j+)tempij=me

10、meryj;for(i=mSIZE;ipSIZE;i+)/* 判断新页面号能否在物理块中 */for(j=0,k=0;jmSIZE;j+)if(memeryj!=pagei)k+;elseflagj=i; /* 刷新该页的接见时间 */出色文档适用标准文案if(k=mSIZE) /* 假如不在物理块中 */count+;/* 计算换出页 */max=flag0flag1?0:1;for(m=2;mmSIZE;m+)if(flagmflagmax)max=m;memerymax=pagei;flagmax=i; /* 记录该页的接见时间 */for(j=0;jmSIZE;j+)tempij=me

11、meryj;elsefor(j=0;jmSIZE;j+)tempij=memeryj;compute();print(count);出色文档适用标准文案/* 最正确置换算法 */void OPT()int memery10=0;int next10=0; /* 记录下一次接见时间 */int i,j,k,l,m;int max; /* 记录换出页 */int count=0; /* 记录置换次数 */* 前 mSIZE个数直接放入 */for(i=0;imSIZE;i+)memeryi=pagei;for(j=0;jmSIZE;j+)tempij=memeryj;for(i=mSIZE;ipS

12、IZE;i+)/* 判断新页面号能否在物理块中 */for(j=0,k=0;jmSIZE;j+)if(memeryj!=pagei)k+;出色文档适用标准文案if(k=mSIZE) /* 假如不在物理块中 */count+;/* 获得物理快中各页下一次接见时间 */for(m=0;mmSIZE;m+)for(l=i+1;l=next1?0:1;for(m=2;mnextmax)max=m;/* 下一次接见时间都为 pSIZE, 则置换物理块中第一个 */memerymax=pagei;for(j=0;jmSIZE;j+)tempij=memeryj;出色文档适用标准文案else for(j=0;jmSIZE;j+)tempij=memeryj;compute();print(count);出色文档

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1