蒲晓蓉-操作系统原理第3章全-存储管理详解.ppt

蒲晓蓉-操作系统原理第3章全-存储管理详解.ppt

  1. 1、本文档共211页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
时钟置换算法(续) 当需要进行页面置换时,系统将移动扫描指针,搜索置换范围内的各个页面,以便找到一个U位为0的页面: 如果当前扫描指针所指向的页面的U位为1,那么系统将把该页面的U位设置为0,同时把扫描指针移到下一个位置,继续搜索; 如果当前扫描指针所指向的页面的U位为0,那么系统将把该页面作为被置换页面,同时把扫描指针移到下一个位置,停止搜索。 页6 U = 1 页123 U = 1 页30 U = 0 页616 U = 0 页77 U = 1 页24 U = 1 页110 U = 1 页16 U = 0 页76 U = 0 . . . 0 1 2 3 4 5 6 7 n-1 (b) 用77号页面替换23号页面以后的情况 页6 U = 1 页123 U = 1 页30 U = 1 页616 U = 1 页23 U = 0 页24 U = 1 页110 U = 1 页16 U = 0 页76 U = 0 . . . 0 1 2 3 4 5 6 7 n-1 (a) 当前页面循环队列情况 2* 2* 3* 2* 3* 2* 3* 1* 5* 3 1 5* 2* 1 5* 2* 4* 5* 2* 4* 3* 2 4 3* 2* 4 3* 2 5* 3* 2* 5* 页面引用序列 2 3 2 1 5 2 4 5 3 2 5 2 F F F F F F F F 12次页面引用 8次缺页中断(F和F) 5次页面置换(F) 图3.37 采用Clock置换算法的缺页中断与页面置换过程 时钟置换算法的改进 系统把一个页面移出内存时,如果该页面驻留内存期间没有被修改过,那么不必把它写回辅存,否则系统必须把它写回辅存。这表明,换出未修改过的页面比换出被修改过的页面开销小。 显然,我们可以依据上述结论改进CLOCK算法。改进后的CLOCK算法将在置换范围内首选在最近没有被使用过、在驻留内存期间没有被修改过的页面作为被置换页面。 时钟置换算法的改进(续1) 为了改进CLOCK算法,系统将为内存的每个页面配置一个修改位(简称为M位)。 改进后的CLOCK算法在置换范围内选择被置换页面时将同时考虑U位和M位。 一个页面的U位与M位共有四种组合: U=0,M=0:最近没有被使用过,驻留内存期间也没有被修改过; U=1,M=0:最近被使用过,但驻留内存期间没有被修改过; U=0,M=1:最近没有被使用过,但驻留内存期间被修改过; U=1,M=1:最近被使用过,驻留内存期间也被修改过; 时钟置换算法的改进(续2) 改进后的 CLOCK 算法将按下列步骤选择被置换页面: 1、从扫描指针的当前位置开始,搜索 U=0且 M=0 的页面。此次搜索不会修改置换范围内的任何一个页面的U位。若找到第一个U=0且M=0的页面,则把该页面选作被置换页面,终止算法。 2、如果第一步没有成功, 那么扫描指针将回到原位。 再次搜索U=0但M=1的页面。如果遇到U位为1的页面,将其U位修改为0。倘若找到第一个U=0但M=1的页面,将该页面选作被置换页面,终止算法。 3、如果第二步也没有成功, 那么扫描指针将再次回到原位,且置换范围内的所有页面的U位均为0。此时,算法将返回第一步继续执行。 页10 U=1 M=0 页565 U=1 M=1 页20 U=1 M=0 页16 U=1 M=1 页19 U=0 M=0 页566 U=1 M=0 页110 U=1 M=1 页111 U=0 M=1 页112 U=0 M=1 . . . 0 1 2 3 4 5 6 7 n-1 图3.38 改进型clock算法:页面置换之前的情形 页面清除策略 页面清除是指,将由页面置换算法选择的被修改的置换页面保存到外存。 页面清除策略需要决定系统何时把一个被置换页面写回外存。 最直接的页面清除时机是,只有当一个页被选中作为置换页时,才被写回外存,称之为请求清除策略。 若被选中的置换页面自进入内存以来被修改过,则需要首先将该页面内容写回外存保存起来,然后,装入进程需要的新页内容。 可见,采用请求清除策略时,写出一个被修改过的页面与读入一个新页的操作是成对出现的,而且,写出操作先于读入操作。 所以,当正在执行的进程发生缺页中断时,需要阻塞等待一个页面的写出和另一个页面的读入,这可能降低处理机的使用效率。 图3.31 虚拟存储分段系统中的缺段中断的处理过程 换出一个或几个段 形成一个

文档评论(0)

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

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

1亿VIP精品文档

相关文档