操作系统原理操作系统原理 (49).pdf

上传人:刘静 文档编号:52841417 上传时间:2022-10-24 格式:PDF 页数:11 大小:1.24MB
返回 下载 相关 举报
操作系统原理操作系统原理 (49).pdf_第1页
第1页 / 共11页
操作系统原理操作系统原理 (49).pdf_第2页
第2页 / 共11页
点击查看更多>>
资源描述

《操作系统原理操作系统原理 (49).pdf》由会员分享,可在线阅读,更多相关《操作系统原理操作系统原理 (49).pdf(11页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、 操作系统操作系统原理原理 Operating System PrincipleOperating System Principle 9 9-6 6 颠簸颠簸 如果进程分配到的帧数量小于计算机体系结构所要求的最小数量,那么必须暂停进行执行。并将其置换出去,使其所有分配帧空闲。为什么?如果进程没有这些必需的帧,那么很快会出现缺页,此时需置换某个页,然而,其所有页都在使用,置换出去的页立刻又需要置换进来,因此,会不断的产生缺页。这种频繁的调页行为称作颠簸,也叫抖动。Thrashing If a process does not have“enough”pages,the page-fault ra

2、te is very high.This leads to(如果一个进程没有足够的页,那么缺页率将很高,这将导致):low CPU utilization(CPU利用率低下).operating system thinks that it needs to increase the degree of multiprogramming(操作系统认为需要增加多道程序设计的道数).another process added to the system(系统中将加入一个新的进程).当进程个数达到一定数量时,内存紧张,采用全局置换算法会引起更多的缺页错误 进程在磁盘等待队列等待换页,导致更长的等待队列

3、,而就绪队列变空 CPU利用率进一步降低,会继续增加多道程序的程度,出现颠簸 Thrashing Thrashing Diagram thrashing CPU utilization degree of multiprogramming Thrashing(颠簸)a process is busy swapping pages in and out(一个进程的页面经常换入换出,花在换页上的时间要大于进程执行时间).Why does demand paging work?Locality model(局部模型)局部置换能限制系统颠簸局部置换能限制系统颠簸 但也会增加进程的有效访但也会增加进程的

4、有效访问时间问时间 因此因此,为了防止颠簸为了防止颠簸,应应该给进程提供足够多的帧该给进程提供足够多的帧 一个locality 是一个进程目前的活跃页面的集合 Locality取决于程序的结构和它的数据结构 Process migrates from one locality to another(进程从一个局部移到另一个局部).Localities may overlap(局部可能重叠).给每个进程分配的最小物理块数不能少于locality 的大小。这样,就可以使进程在把它的locality 页全部装入内存之后,不再发生缺页 Why does thrashing occur?(为什么颠簸会发

5、生)size of locality total memory size Thrashing Solution Working-Set Model working-set window a fixed number of page references 工作集窗口()是指对于给定的访问序列选取定长的区间,落在工作集窗口中的页面集合称为工作集 正确选择工作集窗口()的大小,对存储器的有效利用和系统吞吐量的提高,都将产生重要的影响。2 6 1 5 7 7 7 7 5 1 6 2 3 4 1 2 3 4 4 4 3 4 3 4 4 4 1 3 2 3 4 4 4 3 4 4 4 page refer

6、ence table WS(t1)=1,2,5,6,7 WS(t2)=3,4 t2 t1 工作集理论是在1968年由Denning提出来的。它正是基于局部的假设。WSSi(working set of Process Pi)=total number of pages referenced in the most recent D=WSSi total demand frames(总需求)if D m(可用帧的数量)Thrashing Policy if D m,then suspend one of the processes.if too small will not encompass entire locality.if too large will encompass several localities.if =will encompass entire program.OS跟踪每个进程的工作集,并为其分配大于其工作集的物理块数。如果还有空闲物理块,则可启动另外的进程。如果所有进程的工作集之和超过了可用物理块的总数,则OS会选择暂停一个进程,该进程被换出,所释放的物理块可分配给其他进程。具体实现:Working set

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com