操作系统——虚拟存储器.ppt

  1. 1、本文档共79页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
利用缺页率发现抖动 下图是缺页率与进程分得物理块数之间的关系。当缺页率超过上限时会引起抖动,因此应增加分配给进程的物理块;此时每增加一个物理块,其缺页率明显降低;当进程缺页率达到下限值时,物理块的进一步增加对进程缺页率的影响不大。 缺页率 物理块 上限 下限 缺页率算法 缺页率算法是一种直接的控制抖动方法。该方法要求为每页设一个使用位,当该页被访问时,相应位置1。同时设计一个计数器,记录自上次进程产生缺页以来进程执行的时间。 方法1:设置一个阈值F,如最近两次缺页时间间隔小于F,则分配一个物理块给该进程;否则淘汰使用位为0的页,并减少该进程的物理块数,同时将该进程的剩余页使用位重置为0。 缺页率算法(续) 方法2:设置两个阈值,当缺页率达到上限值时为进程增加物理块,当缺页率达到下限值时减少进程的物理块。 平均缺页频率 设ti为两次缺页之间的间隔时间,fi为其缺页频率,则有: fi= 1/ti 设F为平均缺页频率,则有: F=( f1+f2+…+fn)/n 当F大于系统中规定的允许缺页频率时,则说明系统中缺页率过高,有可能引起抖动。 抖动的预防及解除 为防止系统抖动,可采用局部置换策略限制抖动的传播。 一旦发现抖动,增加分配给相应进程的物理块或挂起一些进程。 选择挂起进程的条件 优先级最低:符合进程调度原则 发生缺页中断的进程:内存不含工作集,缺页时应阻塞 物理块数最少的进程:重新装入开销小 最后被激活的进程:工作集可能不在内存 最大的进程:可释放较多空间 剩余时间最长:有利于提高系统吞吐量 例题:设有一单纯分页系统,页的大小为1KB。假定一进程的代码段长度为10页,页表如表一所示,快表如表二所示: 页号 物理块号 0 8 1 7 2 4 3 10 4 9 : : 9 2 页号 物理块号 0 8 1 7 2 4 3 10 表一: 表二: 现进程有如下访问序列:其逻辑地址为:0AC5H、0EC3H、12C5H、62C3H。试问给定的这些地址能否进行转换?若能,请说明转换过程及相应的物理地址;若不能,则说明理由。 答案:页面大小为1KB,页内位移为10位,逻辑地址为十六进制,转换为二进制,右边10位即为页内位移d,其余左边高位为页号P。 OAC5H=0000101011000101B p=2, d=02C5H,查快表,得物理地址(4)2C5H 0EC3H=0000111011000011B p=3, d=02C3H,查快表,得物理地址(A)2C3H 12C5H=0001001011000101B p=4, d=02C5H,该页号不在快表,需到主存页表项中 寻找对应物理块号,得内存物理块号P=9,d=02C5H,得 物理地址(9)2C5H 62C3H=0110001011000011B p=24, d=02C3H,页号超出页表范围,不可转换,作 为越界处理。 第5次作业 5.3.2 最近最久未使用(LRU)置换算法 LRU(Least Recently Used)置换算法的描述 图 4-27 LRU页面置换算法 2. LRU置换算法的硬件支持 1) 寄存器 为了记录某进程在内存中各页的使用情况,须为每个在内存中的页面配置一个移位寄存器,可表示为 R=Rn-1Rn-2Rn-3 … R2R1R0 图 4-28 某进程具有8个页面时的LRU访问情况 2) 栈 图 4-29 用栈保存当前使用页面时栈的变化情况 5.3.3 Clock置换算法 1. 简单的Clock置换算法 图 4-30 简单Clock置换算法的流程和示例 2. 改进型Clock置换算法 由访问位A和修改位M可以组合成下面四种类型的页面: 1类(A=0, M=0): 表示该页最近既未被访问, 又未被修改, 是最佳淘汰页。 2类(A=0, M=1): 表示该页最近未被访问, 但已被修改, 并不是很好的淘汰页。 3类(A=1, M=0): 最近已被访问, 但未被修改, 该页有可能再被访问。 4类(A=1, M=1): 最近已被访问且被修改, 该页可能再被访问。 其执行过程可分成以下三步: (1) 从指针所指示的当前位置开始, 扫描循环队列, 寻找A=0且M=0的第一类页面, 将所遇到的第一个页面作为所选中的淘汰页。 在第一次扫描期间不改变访问位A。 (2) 如果第一步失败,即查找一周后未遇到第一类页面, 则开始第二轮扫描,寻找A=0且M=1的第二类页面,将所遇到的第一个这类页面作为淘汰页。在第二轮扫描期间,将所有扫描过的页面的访问位都置0

文档评论(0)

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

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

1亿VIP精品文档

相关文档