- 1、本文档共155页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
7.4.2 最近未使用(NRU)页面置换算法 如果硬件没有这些位,则可以进行以下的软件模拟:当启动一个进程时,将其所有的页面都标记为不在内存;一旦访问任何一个页面就会引发一次缺页中断,此时操作系统就可以在它的内部表格中设置R位,修改页表项使其指向正确的页面,并设为READ ONLY模式,然后重新启动引起缺页中断的指令;如果随后对该页面的修改又引发一次缺页中断,则操作系统设置这个页面的M位,并将其改为READ/WRITE模式。 7.4.2 最近未使用(NRU)页面置换算法 用R位和M位来构造一个简单的页面置换算法:当启动一个进程时,它的所有页面的两个位都由操作系统设置成0,R位被定期地(比如在每次时钟中断时)清零,以区别最近没有被访问的页面和被访问的页面。 当发生缺页中断时,操作系统检查所有的页面并根据它们当前的R位和M位的值,把它们分为4类: 第0类:没有被访问,没有被修改。 第1类:没有被访问,已被修改。 第2类:已被访问,没有被修改。 第3类:已被访问,已被修改。 7.4.2 最近未使用(NRU)页面置换算法 尽管第1类初看起来似乎不可能,但一个第3类的页面在它的R位被时钟中断清零后就成了第l类。时钟中断不清除M位是因为在决定一个页面是否需要写回磁盘时将用到这个信息。 最近未使用(NRU,Not Recently Used)算法随机地从类编号最小的非空类中挑选一个页面淘汰之。这个算法隐含的意思是,在最近一个时钟滴答中(典型的时间是大约20ms)淘汰一个没有被访问的已修改页面要比淘汰一个被频繁使用的“干净”页面好。NRU主要优点是易于理解和能够有效地被实现,虽然它的性能不是最好的,但是已经够用了。 7.4.3 先进先出(FIFO)页面置换算法 另一种开销较小的页面置换算法是先进先出(FIFO,First-In First-Out)算法。考虑由操作系统维护一个所有当前在内存中的页面的链表,最新进入的页面放在表尾,最久进入的页面移到表头。当发生缺页中断时,淘汰表头的页面并把新调入的页面加到表尾。但FIFO算法可能会淘汰那些常用的页面,由于这一原因,很少使用纯粹的FIFO算法。 7.4.4 第二次机会页面置换算法 FIFO算法可能会把经常使用的页面置换出去,为了避免这一问题,对该算法做一个简单的修改:检查最老页面的R位。如果R位是0,那么这个页面既老又没有被使用,可以立刻置换掉;如果是1,就将R位清0,并把该页面放到链表的尾端,修改它的装入时间使它就像刚装入的一样,然后继续搜索。这一算法称为第二次机会(second chance)算法。 第二次机会算法就是寻找一个最近的时钟间隔以来没有被访问过的页面。如果所有的页面都被访问过了,该算法就简化为纯粹的FIFO算法。 7.4.5 时钟页面置换算法 尽管第二次机会算法是一个比较合理的算法,但它经常要在链表中移动页面,既降低效率又不是很有必要。一个更好的办法是把所有的页面都保存在一个类似钟面的环形链表中,一个表针指向最老的页面,如图7-12所示。 图7-12 时钟页面置换算法 7.4.5 时钟页面置换算法 当发生缺页中断时,算法首先检查表针指向的页面,如果它的R位是0就淘汰该页面,并把新的页面插入到这个位置,然后把表针前移一个位置;如果R位是1就清除R位并把表针前移一个位置,重复这个过程直到找到了一个R位为0的页面为止。 7.4.6 最近最少使用(LRU)页面置换算法 基于这样的观察:在前面几条指令中频繁使用的页面很可能在后面的几条指令中被使用。反过来说,已经很久没有使用的页面很有可能在未来较长的一段时间内仍然不会被使用。这个思想提示了一个可实现的算法:在缺页中断发生时,置换未使用时间最长的页面。这个策略称为最近最少使用(LRU,Least Recently Used)页面置换算法。 7.4.6 最近最少使用(LRU)页面置换算法 虽然LRU在理论上是可以实现的,但代价很高。为了完全实现LRU,需要在内存中维护一个所有页面的链表,最近最多使用的页面在表头,最近最少使用的页面在表尾。困难的是,在每次访问内存时都必须要更新整个链表。在链表中找到一个页面,删除它,然后把它移动到表头是一个非常费时的操作,即使使用硬件实现也一样费时(假设有这样的硬件)。 7.4.6 最近最少使用(LRU)页面置换算法 还是有一些使用特殊硬件实现LRU的方法。例如,要求硬件有个64位计数器C,它在每条指令执行完后自动加1,每个页表项必须有一个足够容纳这个计数器值的域。在每次访问内存后,将当前的C值保存到被访问页面的页表项中。一旦发生缺页中断,操作系统就检查所有页表项中计数器的值,找到值最小的一个页面,这个页面就是最近最少使用的页面。 7.4.6 最近最少使用(LRU)页面置换算法 再看看第二个
您可能关注的文档
- 常用工具软件实用教程电子教案 第8章 文档阅读与网上图书阅读.PPT
- 程序设计基础 Java语言 教学课件 作者 余先锋experiment experiment1_01.doc
- 操作系统基础 教学课件 作者 邓胜兰 第3章 操作系统内核.ppt
- 仓储与配送管理 第2版 教学课件 作者 秦龙有 主编 第一章.ppt
- 程序设计基础 Java语言 教学课件 作者 余先锋experiment experiment1_02.doc
- 操作系统基础 教学课件 作者 邓胜兰 第4章 进程与线程.ppt
- 程序设计基础 Java语言 教学课件 作者 余先锋experiment experiment1_03.doc
- 仓储与配送管理 第3版 教学课件 作者 李永生 等主编 仓储与配送管理目录与简介.ppt
- 程序设计基础 Java语言 教学课件 作者 余先锋experiment experiment1_04.doc
- 常用工具软件实用教程电子教案 第9章 屏幕图像捕捉软件HyperSnap_DX.PPT
- 《认识圆柱和圆锥》(说课课件)-六年级下册数学苏教版.ppt
- 高中化学:氧化型与蛋白酶型洗涤剂去污效果与环境影响分析教学研究课题报告.docx
- 《农村生活污水分散式处理技术在农村地区水环境治理中的污染控制技术研究》教学研究课题报告.docx
- 《文化遗产保护与旅游开发中的文化遗产保护与旅游可持续发展路径》教学研究课题报告.docx
- 高中人工智能教育资源跨学科融合设计实践教学创新路径研究教学研究课题报告.docx
- 小学英语听力教学策略与教学效果的关系探讨教学研究课题报告.docx
- 《中医药适宜技术在社区卫生服务中的社区中医药服务社区满意度调查与分析》教学研究课题报告.docx
- 基于SDN的数据中心网络流量整形与性能优化策略分析教学研究课题报告.docx
- 呼吸内科疾病诊断探讨.pptx
- 社区公共设施对初中生体育锻炼习惯养成的实证研究教学研究课题报告.docx
文档评论(0)