操作系统课件第3 调度与死锁.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文档。上传文档
查看更多
操作系统课件第3 调度与死锁

调度与死锁 内容提要 调度的类型及其功能 调度的性能评价 常用的调度算法 死锁 调度的含义 调度就是选出待分派的作业或进程 处理机调度的主要目的是为了分配处理机 调度的类型 高级调度:作业调度 中级调度:存储对换 低级调度:进程调度 进程的调度方式 非抢占方式 抢占方式 进程调度的时机 现行进程完成或错误终止 现行进程提出I/O请求,等待I/O完成时 在进程通信中,执行中的进程执行了某种原语操作,如P操作、阻塞原语时,都可能引起进程调度 在分时系统,按照时间片轮转,分给进程的时间片用完时 优先级调度时,有更高优先级进程变为就绪时 进程调度的主要功能 保存让权进程的现场 择优选出一个就绪进程 为选中进程恢复现场,令其投入运行 作业调度和进程调度的区别 作业调度是宏观调度,进程调度是微观调度 作业调度为进程的活动做准备,进程调度使进程真正活动起来 作业调度执行次数较少,进程调度活动频繁 作业调度可以不设,进程调度必不可少 仅有进程调度的调度队列模型 常用的调度性能评价标准 CPU的利用率 系统吞吐量 周转时间 响应时间 就绪队列等待时间 周转时间 周转时间是指从作业提交给系统开始,到作业完成为止的时间 通常把周转时间作为评价批处理系统性能、选择作业调度方式与算法的准则 平均周转时间与平均带权周转时间 平均周转时间可描述为: 通常把周转时间作为评价批处理系统性能、选择作业调度方式与算法的准则 常用调度算法 对于不同的系统和系统目标,通常采用不同的调度算法。目前存在很多调度算法,有的适用于作业调度,有的适用于进程调度,有的两者都适用。 先来先服务调度算法 先来先服务(FCFS)算法的思想很简单:每次调度是从作业后备队列中选择一个或多个最先进入该队列的作业,将它们调入内存,为它们分配资源,创建进程,然后放入就绪队列。 FCFS算法示意图 FCFS算法性能分析 FCFS的特征 较利于长作业或进程 有利于占用CPU时间多的作业 容易实现,但效率较低 短作业(进程)优先调度算法 短作业(SJF)调度算法是从后备队列中选择一个或若干个估计运行时间最短的作业,将它们调入内存运行 短进程(SPF)调度算法是从就绪队列中选出一估计运行时间最短的进程,将处理机分配给它,使它立即执行 SJ(P)F调度算法的缺点 对长作业非常不利 完全未考虑作业的紧迫程度 由于作业(进程)的长短,只是根据用户估计的时间而定,致使算法不一定能真正做到短作业优先调度 时间片轮转调度算法 系统使每个进程依次按时间片轮流执行。在通常的轮转法中,系统将所有就绪进程按先来先服务原则,排成一个队列。每次调度时,把CPU分配给队首进程,并对其执行一个时间片。时间片的大小从几ms到几百ms。 时间片用完时,停止该进程的执行,并将其送入就绪队列的末尾。 影响时间片长短的因素 系统的响应时间 就绪队列进程的数目 进程的转换时间 CPU运行指令速度 优先权调度算法 为照顾到紧迫型作业进入到系统后就能获得优先处理,引入最高优先权调度算法。当该算法用于作业调度时,系统将从后备队列中选择若干优先权最高的作业调入内存;当算法用于进程调度时,把处理机分配给就绪队列中优先权最高的进程。 算法分类 非抢占式优先权算法 抢占式优先权算法 优先权的类型 静态优先权。确定依据为:进程类型、进程对资源的需求、用户要求 动态优先权 多级队列调度 多级队列调度是根据作业的性质或类型不同,将就绪队列分成若干个子队列,每个作业固定属于某个队列。每个队列采用一种算法,不同队列可采用不同的调度算法。 多级反馈队列调度算法 多级反馈队列调度算法不必事先了解各进程所需的执行时间,而且还可满足各种类型进程的需要,是目前公认的比较好的进程调度算法。 多级反馈队列中就绪队列种类 刚刚被创建的进程等待进程调度 已经被调度执行过,但还没有执行完,等待下一次调度 正在执行的进程还未用完时间片,因请求I/O,等待I/O完成被迫放弃CPU,当等待原因解除后,进入就绪队列等待运行 多级反馈队列调度的实施过程 系统设置多个就绪队列,进程在其生命期内可能在多个队列中存在 各个队列赋予不同的优先级。第一个队列的优先级最高,其余各队列的优先权逐个降低 各个队列中进程执行的时间片大小也各不相同,在优先权越高的队列中,每个进程的执行时间片就越小 多级反馈队列调度的实施过程 新进程进入内存后,排在最高优先级队列的末尾,按FCFS原则等待调度。该进程执行时,如果它在一个时间片结束时尚未完成,调度程序便将该进程转入下一个较低优先级队列的队尾 当一个长进程从第一队列依次降到第n队列

文档评论(0)

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

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

1亿VIP精品文档

相关文档