15存储管理4虚拟存储请求页式管理1资料.ppt

15存储管理4虚拟存储请求页式管理1资料.ppt

  1. 1、本文档共87页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
15存储管理4虚拟存储请求页式管理1资料

4.6.1虚拟存储器引入 1.常规存储器管理方式的特征 2.局部性原理 3.虚拟存储器定义 * 1、寄存器 为每个在内存中的页面配置一个移位寄存器,表示为: R=Rn-1Rn-2Rn-3…R1R2R0 当进程访问某物理块时,要将相应的寄存器的Rn-1位置为1。 定时信号将每隔一定时间将寄存器右移一次,把n位寄存器的数看作是一个无符号的整数,最近最久未使用的页面就对应着具有最小数值的寄存器 。 用于记录某进程在内存中各页的使用情况。 * 2、栈 LRU置换算法可用堆栈的方法来实现。 栈中存放当前内存中的页面号,每当访问一页时就调整一次堆栈,总是使最近访问的那页的页面号保持在栈顶,然后根据当前被访问时间的近远,依次排列,栈底总是最近最久未使用的那页的页面号。 淘汰 * 1 1 2 1 2 3 1 2 3 4 2 1 4 3 1 2 4 3 1 2 3 4 2 1 5 6 2 1 2 3 7 6 5 1 2 4 1 2 5 6 1 2 5 6 1 2 5 6 1 2 6 5 1 2 6 3 1 3 2 7 6 3 2 7 作业固定占用4块主存 例如,某作业按下列页号访问: * 作 业 某程序在内存中分配三个页面,初始为空,页面走向为4,3,2,1,4,3,5,4,3,2,1,5。 请分别用FIFO,LRU和OPT算法计算缺页中断次数。 * 4.8.3 CLock置换算法 CLock算法就是用得较多的一种LRU近似算法。 * 1、简单的CLock置换算法 这种算法的实质是:当需要置换一页时,选择在最近一段时间内最久未用的页予以淘汰,因此称为最近未用的算法NRU(Not Recently Used)。 * 这种近似算法,要求为每一页设置一位访问位,再将内存中的所有页面都通过指针按FIFO链成一个循环队列。 当某页被访问时,访问位由硬件自动置“1”。我们可以根据访问位的状态来判断各个页面最近使用的情况。如果是“0”,就选择该页换出;若为1,则重新将它置为0,再按照FIFO算法检查下一个页面。 该算法是对FIFO算法的改进,考虑到页面是否被访问。 * 块号 页号 访问位 指针 0 1 2 4 0 3 4 2 1 5 6 5 0 7 1 1 替换指针 总是指向最近被替换的页所在的存储块,缺页时从其后一块开始。 * 2、改进型CLock置换算法 1类 (A=0,M=0),最近既未被访问,又未被修改,是最佳淘汰页。 2类 (A=0,M=1),最近未被访问,但已被修改,不是很好的淘汰页。 3类 (A=1,M=0),最近已被访问,但未被修改,可能再被访问。 既要考虑到页面的使用情况,还要考虑置换代价 4类 (A=1,M=1),最近已被访问且被修改,可能再被访问。 根据访问位A和修改位M的组合来确定 * 改进型CLock算法,执行过程可分为以下三步: (1)从指针的当前位置开始,扫描按先进先出循环队列,寻找A=0且M=0的第一类页面,将符合条件的第一个页面作为淘汰页,在第一次扫描期间A不改变。 * (2)第一步失败,开始第二轮扫描,寻找A=0且M=1的第二类页面,将符合条件的第一个页面作为淘汰页。将所有经过的页面的访问位置0。 (3)第二步也失败,把指针返回到开始的位置,把所有的访问位A置为0,然后重复第一步,如还是失败,重复第二步,就一定能找到被淘汰的页。 * 改进型Clock算法的特点 该算法与简单 Clock算法比较,可减少磁盘的I/O操作次数,但为了找到要淘汰的页面,可能需要经过几轮扫描,使该算法本身的开销有所增加。 * 4.8.4 其它置换算法 1、最少使用(Least Frequently Used)置换算法(LFU ) 既可实现LRU,也可实现LFU 为内存中的每个页面设置一个移位寄存器,用来记录页面被访问的频率,淘汰页是最少使用或是访问次数最少的页面。 Σri最小的页就是最近一段时间使用最少的页面。 * 2、页面缓冲算法(Page Buffering Algorithm) PBA 淘汰页面 未修改 修改过 空闲页面链表末尾 已修改页面的链表中末尾 采用可变分配和局部置换方式, 采用FIFO置换算法 实际上,页面在内存中并不做物理上的移动,只是将页表中的表项移到上述链表; 这种方法, 修改或未修改的页面还在内存中,当该进程需要再次访问这些页面时,花费很小就能使这些页面返回到进程中; 当被修改的页面数目达到一定值时,一起写回磁盘

文档评论(0)

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

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

1亿VIP精品文档

相关文档