操作系统ch6剖析.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
综上所述: (1)作业被调度投入运行以前,通常只装入其虚页0(即第一页)到主存中即可。其它各页,根据请求而被装入。 (2)新装入的虚页放在空闲的主存块,如果没有空闲的块,则必须淘汰主存中的某一页。 (3)将某一页从主存移到辅存为“出页”,将某一页从辅存调入主存为“入页”。刚“出页”的页又要“入页”或刚“入页”的页又要“出页”。这种反复出入页的现象称为“系统抖动”或者“系统颠簸”。 (4)入页与出页的操作合称为“分页”。分页是由系统中的缺页中断处理程序完成的。 8.常用的页面置换算法 (1)先进先出算法(FIFO算法)(你玩的够久了,下来吧) (2)最近最久未使用页面置换算法 (LRU算法)(占着茅坑不拉屎,滚) (3)LRU近似算法 淘汰谁? (1)先进先出算法FIFO 该算法的基本思想是首先淘汰那些驻留在主存时间最长的页面。 理由是:最早调入主存的页面,其不再被访问的可能性最大。 实现FIFO算法的方法1:用队列 设分配给一个作业的实页(内存块)数为m,则只需建立一个由m个元素组成的(循环)队列和一个替换指针即可实现FIFO算法。 该队列为:Q(0),Q(1),...,Q(m-1),其中:Q(i)(0=i=m)是作业地址空间的虚页号。 这个队列是按虚页调入实存的顺序排列的,而替换指针K总是指向最早调入实存的页面。则下次淘汰的页号为:Q(k),每当调入一个新页后,执行下列操作即可: Q(k)=新调入虚页的页号 k=m mod (k+1) Q为数组名,Q(i)中的i为数组Q元素下标,数组Q中存的是页号 实现FIFO算法的方法2:用链表(p180) 实现FIFO算法的另一方案是利用存储分块表MBT建立作业链表队列。 由于MBT表是以实页而不是进入主存的虚页的先后顺序排列的,因此,为了反映这一先后顺序,在MBT表中增加一个指针域,另外还有一个替换指针(书上叫淘汰指针,其实就是头指针)指向最老的一页的块号,以确定淘汰对象。 图6. 先进先出算法存储分块表构造 (2)最近最久未使用页面置换算法 (LRU算法) 这种算法的基本思想是,如果某一页被访问了,那么它很可能马上又被访问;反之,如果某一页很长时间没有被访问,那么最近也不太可能会被访问。这种算法考虑了程序设计的局部性原理。其实质是,当需要置换一页时,选择在最近一段时间最久未使用的页面予以淘汰。 实现这种算法可通过周期性地对“引用位”进行检查,并利用它来记录一页面自上次被访问以来所经历的时间t,淘汰时选择t最大的页面。 例:OS给某作业分配3块主存,该作业依次访问的页号如第一列所示。采用LRU算法 访问页号 页面淘汰序列 被淘汰页面 4 4 3 4 3 0 4 3 0 4 3 0 4 1 0 4 1 3 2 4 1 2 0 3 1 2 3 4 2 1 3 2 4最近被访问了 (3)LRU近似算法 这种算法,只要在存储分块表(或页表)中设一个“引用位”,当存储分块表中的某一页被访问时,该位由硬件自动置1,并由页面管理软件周期性把所有引用位置0。这样,在一个时间周期T内,某些被访问过的页面其引用位为1,而未被访问过的页面其引用位为0。因此,可根据引用位的状态来判别各页面最近的使用情况。当需要置换一页面时,选择其引用位为0的页。 LRU近似算法如图6.21所示。 图6.21 LRU近似算法 本算法只将引用位改为0,那什么时候置1?当页面被访问时(即被人引用时) 图6.22 LRU近似算法举例 9.影响缺页中断的因素 (1)程序设计的质量 (2)页面大小的确定 (3)主存的容量 (4)页面置换算法 例:程序要将128×128的数组置“0”。分给的主存只一块,页面尺寸为每页128个字,数组中的元素每行存放在一页中。 若程序如下:总共产生128次缺页中断 Var A: array[1..128] of array [1..128] of integer; for i := 1 to 128 do for j := 1 to 128 do A[i][j

文档评论(0)

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

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

1亿VIP精品文档

相关文档