Clock及改进Clock置换算法实现.doc

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实用标准文案 精彩文档 操作系统课程设计报告书 Clock及改进Clock置换算法实现 班 级 姓 名 学 号 指导老师 2014年3月12日 目 录 一 、课程设计目的 3 二、系统分析与设计 3 三、算法流程图: 4 四、函数模块:6 五、系统调试与结果: 7 六、设计心得与体会: 9 七 、源程序代码: 15 一、课程设计目的 操作系统课程设计是为了对学习的操作系统课程更深刻的理解和巩固,对操作系统的整体进行一个模拟。通过实践加深对各个部分的管理功能的认识,还能进一步分析各个部分之间的联系,最后达到对完整系统的理解。同时,可以提高运用操作系统知识解决实际问题的能力;锻炼实际的编程能力、创新能力及团队组织、协作开发软件的能力;还能提高调查研究、查阅技术文献、资料以及编写软件设计文档的能力。 课程设计是自己独立完成一项任务的过程,编程过程中要充分调动个人的积极性,提高自身解决实际问题的能力,发现自身的编程错误习惯,提高编写程序的质量。同时,也为以后深入层次的学习及研究打基础。 编程中少不了难题,遇到难题时需要的是用程序员的思维方式去考虑问题解决问题,还需要很大的精力和耐心,对于我们来说都是磨练和提高。 二、系统分析与设计 在采用请求分页机制的操作系统中,当运行一个程序的时候,若要访问的页面不在内存中而需要把它们调入内存,但此时内存已无空闲空间,为了保证该进程能正常运行,需选择内存中暂时不用的页面调出到磁盘交换区。选择调出哪个页面,由页面算法决定。页面置换算法的好坏,直接影响系统的性能,所以一个好的页面置换算法,应尽可能选择调出较长时间内不会再访问的页面,以保证较低的缺页率。 2.1 Clock页面置换原理描述 Clock算法的思想:当某一页首次装入内存中时,则将该HYPERLINK "/view/1838099.htm"页框的使用位设置为1;当该页随后被访问到时(在访问产生HYPERLINK "/view/3071978.htm"缺页中断之后),它的使用位也会被设置为1。对于HYPERLINK "/view/3211097.htm"页面置换算法,用于置换算法,用于置换的候选HYPERLINK "/view/1838099.htm"页框集合(当前进程:局部范围;整个内存;全局范围)被看做是一个循环缓冲区,并且有一个HYPERLINK "/view/159417.htm"指针与之相关联。当一页被置换时,该HYPERLINK "/view/159417.htm"指针被设置成指向缓冲区中的下一页框。当需要置换一页时,操作系统扫描缓冲区,以查找使用位被置为0的一HYPERLINK "/view/1838099.htm"页框。每当遇到一个使用位为1的HYPERLINK "/view/1838099.htm"页框时,操作系统就将该位重新置为0;如果在这个过程开始时,缓冲区中所有页框的使用位均为0时,则选择遇到的第一个页框置换;如果所有页框的使用位均为1时,则HYPERLINK "/view/159417.htm"指针在缓冲区中完整地循环一周,把所有使用位都置为0,并且停留在最初的位置上,置换该页框中的页。 2.2 改进型 Clock页面置换原理描述 改进型的Clock算法的思想:在将一个页面换出时,如果该页已被修改过,便须将它重新写到磁盘上;但如果该页未被修改过,则不必将它拷回磁盘。同时满足这两条件的页面作为首先淘汰的页。由访问位A和修改位M可以组合成下面四种类型的页面: 1 类(A=0,M=0):表示该页最近既未被访问、又未被修改,是最佳淘汰页。 2 类(A=0,M=1):表示该页最近未被访问,但已被修改,并不是很好的淘汰页。 3 类(A=1,M=0):最近已被访问,但未被修改,该页有可能再被访问。 4 类(A=1,M=1):最近已被访问且被修改,该页有可能再被访问。 在内存中的每个页必定是这四类页面之一,在进行页面置换时,其执行过程可分成以下三步: (1)从指针所指示的当前位置开始,扫描循环队列,寻找A=0且M=0的第一类页面,将所遇到的第一个页面作为所选中的淘汰页。在第一次扫描期间不改变访问位A。 如果第一步失败,即查找一周后未遇到第一类页面,则开始第二轮扫描,寻找A=0且M=1的第二类页面,将所遇到的第一

文档评论(0)

linlin921 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档