工作集替换算法.pdf

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

(1)局部最佳页面替换算法

1976年由Prieve提出一种局部最佳页面替换算法,它与全局最佳替换算法类似,需事

先知道程序的页面引用串,再根据进程行为改变页面数量。现在介绍此算法的思想,进程在

时刻t访问某页面,如果该页面不在内存中,导致一次缺页,把该页面装入一个空闲页框。

不论发生缺页与否,算法在每一步要考虑引用串,如果该页面在时间间隔(t,t+τ)内未被再

次引用,那么就移出页面;否则,该页被保留在进程的驻留集中,直到再次被引用。τ为一

个系统常量,间隔(t,t+τ)称作滑动窗口,因为,在任意给定时刻,驻留集包含这个窗口中

可见的那些页面(当前引用的页面,未来的τ次内存访问引用的页面),因此,窗口实际大小

为τ+1。

通过例子说明此算法,假如进程页面引用串为:p3、p3、p4、p2、p3、p5、p3、p5、p1、

p4。滑动窗口τ=3,初始时页面p4己被装入。若采用局部替换,通过图1来了解驻留集的

变化情况。时刻t0时,p4被引用,因为它在时刻t4时再次被引用,即在时间间隔(0,0+3)

之内,故p4留在驻留集。时刻t1时,p3被引用,它被装入空闲页框中,这时驻留集中包

含p3与p4。在时刻t2和t3,显然,页面p3与p4被保留。页面p4在时刻t4被移出驻留

集,因为,在时间间隔(4,4+3)之内,不再被引用。同时,p2被装入空闲页框,但p2在时

刻t5就脱离滑动窗口并移出驻留集,而p3依然驻留,直到时刻t7再次被引用。发生在时

刻t6的下次缺页把p5装入页框,它被保持驻留,直到时刻t8再次被引用。最后两次引用

装入p1与p4页面。本例中,缺页总数为5,驻留集大小在1-2之间变化,任何时刻至多两

个页框被占用,通过增加τ值,缺页数目可减少,但代价是花费更多页框。

时刻t012345678910

引用串p4p3p3p4p2p3p5p3p5p1p4

p1---------√-

p2----√------

p3-√√√√√√√---

p4√√√√------√

p5------√√√--

In

tp3p2p5p1p4

OUT

tp4p2p3p5p1

图1局部最佳页面替换算法示例

(2)工作集模型和工作集置换算法

P.J.Denning提出了工作集模型,用来对局部最佳页面替换算法进行模拟实现,也使用

了滑动窗口概念,但并不向前查看页面引用串,而是基于程序的局部性原理向后看,该原理

意味着,在任何给定时刻,一个进程不久的将来所需内存数量,可通过考查其过去最近的时

间内的内存需求做出估计。进程工作集指:“在某一段时间间隔内,一个进程运行所需访问

的页面集合”。用W(t,Δ)表示在时刻t-Δ到时刻t之间所访问的页面集合,则它就是进程

在时刻t的工作集,Δ是系统定义的一个常量。

变量Δ称为“工作集窗口尺寸”,可以通过窗口来观察进程的行为,还把工作集中所包

含的页面数目称为“工作集尺寸”。图2例子中,页面引用串与上例相同,工作集窗口尺寸

Δ=4。如果系统有足够空闲页框供分配,并且

文档评论(0)

百分卷 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档