操作系统课件第5章 虚拟存储器.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
其执行过程可分成以下三步: (1) 从指针所指示的当前位置开始, 扫描循环队列, 寻找A=0且M=0的第一类页面, 将所遇到的第一个页面作为所选中的淘汰页。 在第一次扫描期间不改变访问位A。 (2) 如果第一步失败,即查找一周后未遇到第一类页面, 则开始第二轮扫描,寻找A=0且M=1的第二类页面,将所遇到的第一个这类页面作为淘汰页。在第二轮扫描期间,将所有扫描过的页面的访问位都置0。 (3) 如果第二步也失败,亦即未找到第二类页面,则将指针返回到开始的位置,并将所有的访问位复0。 然后重复第一步,如果仍失败,必要时再重复第二步,此时就一定能找到被淘汰的页。 1. 影响页面换进换出效率的若干因素 5.3.4 页面缓冲算法(PBA: Page Buffering Algorithm) 2. 页面缓冲算法(PBA: Page Buffering Algorithm) (1)空闲页面链表:被淘汰的未修改的页放置表尾。 (2)修改页面链表 (1)页面置换算法 (2)写回磁盘的频率 (3)读入内存的频率 好的置换算法会具有较低的缺页率。 设置已修改链表,减少启动磁盘操作次数。 换入的页若属于已修改链表中的,就可以减少换入开销。 该算法的特点: (1)降低页面换入、换出频率。 (2)可采用简单置换算法(如FIFO),实现容易。 5.3.5 访问内存的有效时间 被访问页在内存,且其对应的页表项在快表中。 被访问页在内存,且其对应的页表项不在快表中。 被访问页不在内存。 请求分页管理中,内存有效访问时间(EAT)由三部分构成:访问页表、访问实际物理地址数据的时间(t)以及缺页中断处理时间。 据此内存访问操作有三种方式: 此时无缺页,EAT=λ+t λ为访问快表时间。 EAT=λ+t+λ+t=2*(λ+t) 查找快表、页表、修改快表及访问物理单元时间。 EAT=λ+t+ε+λ+t 这里ε为缺页中断处理时间; 考虑到快表命中率(a)和缺页率(f),则: EAT=a*(λ+t)+(1-a)*[f*(ε+2(λ+t))+(1-f)*2(λ+t)] =(1-a)*f*ε+(2-a)(λ+t) 余略。 操作系统会对CPU的工作情况进行监督,如果发现CPU出现空闲,它会调入新的进程来增加多道程序度(内存中并发执行的进程数目),保持CPU的高利用率。 但实验表明当多道程序数量增加到一定数量,CPU的利用率会攀升到一个高点,随后会呈现下降趋势见下图。 5.4 “抖动”与工作集 5.4.1 多道程序度与 “抖动” 1.多道程序度与处理机的利用率 在采用全局置换的方式下,它会导致其它进程的某些页被置换出内存,而该进程执行时会因此产生缺页,所以它又会置换另外进程的页,由此造成连锁反应,使得整个系统中页面置换频繁发生。 在每次置换过程中,都需要启动磁盘I/O,这种低速的延迟操作会造成CPU等待,操作系统发现CPU空闲后,又开始增加多道程序度…… 于是整个系统就在进行频繁的页面置换,这种状况就称为“抖动”,它会严重地影响到系统的性能。 5.4.1 多道程序度与 “抖动” 2.产生”抖动”的原因 图5-10 缺页率与物理块数之间的关系 进程发生缺页的时间间隔与进程所获得的物理块数有关。其关系见下图。 5.4.2 工作集 1. 工作集的基本概念 上限 下限 物理块数 n 缺页率 0 所谓的工作集模型是基于局部性原理,由Denning提出并被广泛采用的。工作集是指在某一时刻t,进程最近一段时间Δ内被访问的页面集合,表示为WS(Δ,t){理应表示为WS(t,Δ),用最近过去模拟最近的将来,实际为WS(Δ,t)},参数Δ称为工作集的窗口。如果某页在内存中活动,则说明它在工作集中,反之则不在工作集中,除非它再次换入内存被访问。我们可以通过下面的例子来看工作集的表示。 如图所示的页面序列,如果Δ=10,则t1时刻的工作集是{1,2,3,5,6,7},t2时刻的工作集是{2,3,4,8}。 2. 工作集的定义 图 工作集模型(参见书中P171图5-11) 从这个模型中我们可以看到,工作集是Δ和t的非减函数,它的精确度取决于窗口尺寸Δ的大小。 WS(t,Δ)?WS(t,Δ+1) 如果Δ太小,不能准确反映局部性特征,会引起频繁的缺页置换;如果Δ太大,可能将整个进程全部装入,也就失去虚拟存储器管理的意义。 5.4.3 “抖动”的预防方法 1. 采取局部置换策略 这样,即使有某个进程发生了“抖动”,也不致引起其它进程也产生抖动,从而把抖动局限于较小的范围内。 这种方法并不很好,因为它不能

文档评论(0)

文库创作者 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档