实验三页面置换算法.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
操作系统实验报告 班级:姓名:学号: 班级: 姓名: 学号: 实验三:页面置换算法 一、 实验冃的 1、 熟悉内存分页管理策略。 2、 编写OPT、FIFO、LRU, LFU四种置换算法并模拟实现。 3、 锻炼知识的运用能力和实践能力。 二、 实验内容 设计主界面,输入一串系列模拟页面请求,实现以下算法: 最佳置换算法(OPT):将以后永不使用的或许是在最长(未来)时间 内不再被访问的页面换出。 先进先出算法(FIFO):淘汰最先进入内存的页面,即选择在内存 中驻留时间最久的页面予以淘汰。 最近最久未使用算法(LRU):淘汰故近最久未被使用的页面。 最不经常使用算法(LFU) 三、 代码及运行结果分析 #include stdio.h #include stdlib.h int mSIZE; int pSIZE; static int memery[10]={0}; static int page[100]={0}; static int temp[100][10]={0}; void FIFO(); void LRU(); void OPT(); void print(unsigned int t); void read(); void mDelay(unsigned int Delay); int main() { int i,k,code; printf(”请输入物理块的个数(M=10): n); scanf(n%dn,mSIZE); printfC*请输入页面号引用串的个数(Pv=100): ”); scanf(”%(T;pSIZE); puts请依次输入页面号引用串:); for(i=0;ipSIZE;i++) scanf(”%ld”, page[i]); read(); do{ puts(”输入的页面号引用串为:”); for(k=0;k=(pSIZE-l)/20;k++) { for(i=20*k;(ipSIZE)(iv20*(k+l));i++) { if(((i+1)%20==0 )||(((i+1 )%20)(i=pSIZE? 1))) printf(H%d\n,,page[i]); else printf(n%d n,page[i]); } } printf(H \nn); printf(”*请选择页面置换算法:\t\t\t*\rT); printf(^ *\『); printf(n* 1.先进先出(FIFO) 2?最近最久未使用(LRU) T); printf(n* 3?最佳(OPT) 4?退出 *\nn); printf(H \nn); printf(n请选择操作:[]\b\bn); scanf(n%dn,code); switch(code) case 1: FIFO(); break; case 2: LRU(); break; case 3: OPT(); break; case 4: system(nclsn); exit(O); default: printf(n输入错误,请重新输兀”); } printf(n按任意键重新选择置换算法:”); getchar(); } while (code! =4); getchar(); void read() int i; for(i=0;i51 ;i++) printf(n\bn); for(i=0;iv50;i++) { mDelay((pSIZE+mSIZE)/2); printf(HH); } printfC*获取成功,按任意键进入置换算法选择界面:J; getchar(); } void mDelay(unsigned int Delay) { unsigned int i; for(;Delay0;Delay—) { for(i=0;i124;i++) { printf(H \bH); } } } void print(unsigned int t) { int flag; for(k=0;k=(pSIZE-1 )/20;k++) { for(i=20*k;(ipSIZE)(iv20*(k+l));i++) { if(((i+1)%20==0 )||(((i+1 )%20)(i==pSIZE-1))) printf(n%d\nn,page[i]); else printf(” %d n,page[i]); } for(j=0;jmSIZE;j+-t-) { for(i=20*k;(ivmSIZE+20*k)(ivpSIZE);i++) { if(i=j) printf(” |%d|”,temp[i][j]); else print” | } for(i二mSIZE+20*k;(ivpSIZE)(iv20*(k+l));i++) { for(

文档评论(0)

ggkkppp + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档