操作系统第6章.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文档。上传文档
查看更多
* 6.4.3 请调策略 二、请求分页概念 请求分页技术 当一个用户程序要调入内存时,不是将该程序全部装入内存,而是只装入部分页到内存,就可启动程序运行,在运行的过程中,如果发现要运行的程序或要访问数据不在内存,则向系统发出缺页中断请求,系统在处理这个中断时,将在外存相应的页调入内存,该程序继续运行。 * 6.4.3 请调策略 三、请求分页要解决的问题 采用这种技术要解决以下问题: 1、如何发现执行的程序或访问的数据不在内存; 2、程序或数据什么时候调入内存,调入策略; 3、当一些页调入内存时,内存没有空闲内存时,将淘汰哪些页,淘汰策略。 * 6.4.3 请调策略 四、数据结构 为了实现请求分页技术,页表应增加相应的内容,反映该页是否在内存,在外存的位置,在内存的时间等。 中断位:0 表示该页在内存, 1表示该页不在内存 引用位:0 表示最近没有被访问 1表示最近被访问 修改位:0 调入内存后没有修改 1调入内存后修改过 * 6.4.3 请调策略 47 缺页处理过程图示 启动要处理的指令 给出虚地址 得到页号 该页在主存? 有空闲块? 缺页中断 执行完该指令 准备执行下条指令 选一页淘汰 从外存读入所需的页 调整存储分配表和页表 重新启动被中断的指令 调整存储分配表和页表 要重写入? 该页写入外存 Y N N Y 硬件 软件 Y N 指令执行步骤和缺页中断处理过程 * 6.4.3 请调策略 五. 调入策略 1、预调 系统根据作业(进程)运行的情况,预测哪些页将要访问,在其访问之前预先调入内存,这样在程序运行的过程中就不会出现缺页中断。这种方法从表面上看起来很好,但系统无法预测哪些页将要访问,难以实现。 2、请调 进程在执行的过程中,发现要执行的程序或处理的数据不在内存,向系统提出调入相应页面的请求,系统响应请求,调入相应的页面。 * 6.4.4 淘汰策略 一、置换算法 当要调入一页面并送入到全满的内存中时,必须把已在内存中的某一页淘汰掉。用来选择淘汰哪一页的规则叫做置换算法。 二、颠簸 * 一、最佳算法 假定程序p共有n页,而系统分配给它的内存只有m块(1≤m≤n),并且以作业在执行的过程中页面置换的频率的高低来衡量算法的优劣。 访问的页在内存,称访问成功,否则为失败。 a=s+f a:访问的总次数 s:访问成功的次数 f:访问失败的次数 6.4.5 几种置换算法 * 6.4.5 几种置换算法 缺页中断率f ’ = f/a 则有: f’ =f(r,m,p) 最佳算法是指对于任何m和p,r:调度算法 有f’=f(r,m,p)最小。 最佳算法:当要调入一新页而必须淘汰一旧页时,所淘汰的页是以后不再使用的,或者是以后相当长的时间内不会使用的。 这种算法是不可实现的。 * 6.4.5 几种置换算法 二、先进先出算法 先进入内存的页,先退出内存。 实质上是淘汰在内存驻留时间最长的页。 其理由是:最早调入内存的页,不再被使用的可能性比近期调入内存的大。 这种算法简单,实现容易, 但存在Belady异常: 为作业分配的主存块增多时,产生的缺页中断次数反而增多。例:页面走向为: 0、1、2、3、0、1、4、0、1、2、3、4 * 6.4.5 几种置换算法 三、最久未使用淘汰算法(LRU算法) 这种算法的实质:当需要淘汰一页时,选择最近最久未使用的页。 依据的理论是如果某页最近被访问,它可能马上还要被访问;相反,如果某页长时间未被访问,它未来可能不会被访问。 算法的实现(软件):设置一个活动页面栈,当访问某页时,将此页号压入栈顶,然后,考察栈内是否有与此页面相同的页号,若有则抽出。淘汰一页时,总是从栈底抽出一个页号,它就是最久未使用的。 * 分区的回收算法 二、回收算法 当一个进程(或程序)释放某内存区时,要调用存储区释放算法release,它将首先检查释放区是否与空闲区表(队列)中的其它空闲区相邻,若相邻则合并成一个空闲区,否则,将释放为一个空闲区插入空闲区表(或队列)中的适当位置。 空闲释放区与空闲区相邻有四种情况。 * 分区的回收算法 A、将r合并到f1,f1.addr; f1.size+r.size=f.size B、将r合并到f2, r.addr; r.size+f2.size=f2.size C、f1、r、f2 合并到f1, f1.addr; f1.size+r.size+f2.size=f1.size 撤消f2空闲区 D、r作为一个空闲区,并插入到空闲区表的适当位置。 * 6.3.5 几种放置策略 分区分配和回收是对空闲区表(或空闲区队列)数据结构进行操作,空闲区表的组织有两种方法: 1、按空闲区大小的升序(降序

文档评论(0)

yyons2019 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档