操作系统四版课件3解读.ppt

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

程序1按行对a的元素初始化,缺页中断进一页,就能完成对a一行元素的初始化。a共128行,需128次缺页中断将它们调入,完成对a的初始化。程序2按列对a的元素初始化。通过缺页中断进来一页,只能对a的一行的一个列元素初始化。于是,每列元素的初始化,须128次缺页中断才完成。程序2需128×128?=?16384次缺页中断,才能完成a的初始化工作。 要把128×128的数组元素初始化为“0”。数组中的每个元素占一个字。若页面尺寸为128字,规定数组按行存放,系统只给该作业2个内存块:一个存程序,另一个用于数组初始化。开始时,程序已在内存块,数据未进入。试问下面给出的两个程序在运行时各会发生多少次缺页中断? 页面尺寸:页面尺寸是与块尺寸相同的,因此块大页也就大。页面增大了,在每个内存块里的信息相应增加,缺页的可能性下降。反之,页面尺寸减少,每块里的信息减少,缺页的可能性上升。 分配给作业的内存块数:由于分配给作业的内存块数多,同时能够装入内存的作业页面就多,缺页的可能性下降,发生缺页中断的可能性也就下降。 影响缺页中断次数的因素 . (1) 程序的实现:作业程序的编写方法,对缺页中断产生的次数也会有影响。 (2) (3) 例: 程序1: 程序2: main() main() { { int a[128][128]; int a[128][128]; int i,j; int i,j; for(i=0;i128;i++) for(j=0;j128;j++) for(j=0;j128;j++) for(i=0;i128;i++) a[i][j]=0; a[i][j]=0; } } 解: 改变位:该位为“0”时,表示此页面在内存时数据未被修改过;为“1”时,表示被修改过。当其为淘汰对象时,根据此位的取值来确定是否要进行磁盘回写操作。 引用位:在系 统规定的时间间隔内, 该页是否被引用过的标志(该位在页面淘汰算法中将会用到)。 3.6.4 页面淘汰算法 1. 几个问题 . 页面淘汰:缺页时,要从辅存把所需页面调入内存。若当时内存有空闲块,那么不会有什么问题;若当时内存中已没有空闲块,那就必须在内存中选择一页,把它调出内存,以便为即将调入的页面让出块空间。这就是所谓的“页面淘汰” 。 . 缺页中断与页面淘汰的关系:页面淘汰是由缺页中断引起的,但缺页中断不一定引起页面淘汰。只有当内存中没有空闲块时,缺页中断才会引起页面淘汰。 . 抖动:若一个刚被淘汰出去的页,时隔不久因要访问它,又从辅存调入。调入后 不久又被淘汰,再访问,再调入。如此频繁地反复进行,使得整个系统一直陷于页面的调入、调出,大部分CPU时间都用于处理缺页中断和页面淘汰上,很少顾及到用户作业的实际计算。这种现象被称为“抖动”或称为“颠簸”。 . 页表表目的变动:选中了一个淘汰的页面,若该页面在内存时未被修改过,就可直接用调入的页面将其覆盖;若该页面在内存时被修改过,就必须把它回写到磁盘,以更新该页在辅存上的副本。一个页面在内存时是否被修改过,可通过页表表目反映。 页 号 块 号 缺页中断位 辅存地址 引用位 改变位 (1) (2) 比如,作业的页面走向为: 1、2、3、4、1、2、5、1、2、3、4、5 即作业运行时,先用到第1页,再用到第2页、 第3页和第4页等。页面走向中涉及的页面总数为12。 先进先出(FIFO)页面淘汰算法的基本思想是:当要进行页面淘汰时,总是把最早进入内存的页面作为淘汰对象。 2. 先进先出页面淘汰算法 1 2 3 4 1 2 5 5 5 3 4 4 1 2 3 4 1 2 2 2 5 3 3 1 2 3 4 1 1 1 2 5 5 √ √ √ 1 2 3 4 1 2 5 1 2 3 4 5 √ √ √ √ √ √ 页面走向 3个内存块 缺页计数: 缺页中断率:f=9/12=75% . . 由于3个内存块中没有第4页,因此要通过缺页中断将其调入。但供该作业使用的3个内存块全部分配,必须进行页面淘汰才能让所需的第4页进来。可以看出,前面3个缺页中断没有引起页面淘汰,现在这个缺页中断引起了页面淘汰。 . 假定只分给该作业3个内存块使用。开始时作业程序全部在辅存,3个内存块都为空。运行后,

文档评论(0)

22ffbqq + 关注
内容提供者

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

1亿VIP精品文档

相关文档