操作系统课程设计-页面置换算法C语言课件分析.docVIP

操作系统课程设计-页面置换算法C语言课件分析.doc

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
页面置换算法 一.题目要求: 通过实现页面置换算法的FIFO和LRU两种算法,理解进程运行时系统是怎样选择换出页面的,对于两种不同的算法各自的优缺点是哪些。 要求设计主界面以灵活选择某算法,且以下算法都要实现 1) 最佳置换算法(OPT):将以后永不使用的或许是在最长(未来)时间内不再被访问的页面换出。 2) 先进先出算法(FIFO):淘汰最先进入内存的页面,即选择在内存中驻留时间最久的页面予以淘汰。 3) 最久未使用算法(LRU:淘汰最近最久未被使用的页面) 最不经常使用算法(LFU) 二.实验目的: 1、用C语言编写OPT、FIFO、LRU,LFU四种置换算法。 2、熟悉内存分页管理策略。 3、了解页面置换的算法。 4、掌握一般常用的调度算法。 5、根据方案使算法得以模拟实现。 6、锻炼知识的运用能力和实践能力。编写算法,实现页面置换算法 2、针对内存地址引用串,运行页面置换算法进行页面置换由输入产生输出内存驻留的页面集合选择置换算法,先输入所有页面号,为系统分配物理块,依次进行置换: OPT基本思想: 是用一维数组page[]存储页面emery[mSIZE]是存储装入物理块中的页面。每当发生缺页时,就从中,调出该页,换入所缺的页面。FIFO基本思想是用队列存储内存中的页面,队列的特点是先进先出,与该算法是一致的,所以每当发生缺页时,就从队头删除一页,而从队尾加入缺页。 LRU基本思想是用一维数组page[]存储页面,emery[mSIZE]是存储装入物理块中的页面。每当使用页面时,。发生缺页时,就从中页面标记最小的一页,调出该页,换入所缺的页面。 六.运行结果: 1. 按任意键进行初始化: 2. 载入数据: 3. 进入置换算法选择界面: 4.运算中延迟操作: 5.三种算法演示结果: 八.结论 通过这次课程设计,不仅让我了解了页面置换算法,开始我一味的进行调试,急切的想侥幸调试出来,但由于没有进行深入的考虑,我调试了很久都没没有成功,我仔细的分析题目,分析材料,在原由的基础上我进行了改正,我最后还是调试成功了,还是经过了一翻努力,这次操作系统实习,不仅让我对操作系统这门课程有了更深入的研究、对很多重要的概念有了巩固和掌握。通过努力,三个页面置换算法程序都已经完成,此时此刻,我心里多了些成就感。虽然自己所做的很少也不够完善,但毕竟也是努力的结果。主要有以下几点收获:1.通过对上网和看书查阅相关资料,使自己对C语言的基本框架有新的了解,加深了对可视化程序的认识。2.在使用C语言来实现功能时,不像以往用的其他语言,它比较简练,更容易理解,实用性很强。3.先进先出页面置换和LRU以及OPT算法各有特点,但是实践起来却很大,使自己对页面置换算法有了新的认识。一周半的课程设计就要结束了,不但对专业知识有了更深的理解,更使的自己认识到实践的重要性,理论、实践相结合才能达到很好的学习效果,特别是程序语言的学习。#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 designBy(); void download(); void mDelay(unsigned int Delay); /*主函数*/ void main() { int i,k,code; printf(┏━━━━━━━━━━━━━━━━━━━━━━━━━┓\n); printf(┃请按任意键进行初始化操作... ┃\n); printf(┗━━━━━━━━━━━━━━━━━━━━━━━━━┛\n); printf( ); getch(); system(cls); printf(请输入物理块的个数(M=10):); scanf(%d,mSIZE); printf(请输入页面号引用串的个数(P=100):); scanf(%d,pSIZE); puts(请依次输入页面号引用串(用空格隔开):); for(i=0;ipSIZE;i++) scanf(%1d,page[i]); downlo

您可能关注的文档

文档评论(0)

我是兰花草 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档