第三章 调度与死锁.ppt

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

第三章 调度与死锁 处理机调度 一、处理机调度概述 (一)处理机调度的三个层次 (二)调度队列模型 (三)调度算法评价 二、进程调度 三、作业调度 一、处理机调度概述 处理机调度要解决的问题: WHAT:按什么原则分配CPU —调度算法 WHEN:何时分配CPU —调度的时机 HOW: 如何分配CPU —CPU调度过程(进程的上下文切换) (一)处理机调度的三个层次 处理机调度可分成三个层次: 高级调度 低级调度 中级调度 1)高级调度 又称作业调度或长程调度(Long-term scheduling),接纳调度(Admission scheduling) 任务:用于决定把外存上处于后备作业队列上的哪些作业调入内存,为之创建进程,并将进程加入就绪队列 主要用于批处理系统,不适用于分时、实时系统 高级调度的时间尺度通常是分钟、小时或天 2 )低级调度 也称进程调度、微观调度 任务:选择就绪进程或线程进入运行状态。 由于低级调度算法的频繁使用,要求在实现时做到高效 低级调度的时间尺度通常是毫秒级的。 3 )中级调度 又称中程调度(Medium-Term Scheduling),涉及进程在内外存间的交换(存储器管理中的对换功能) 目的:提高内存利用率和系统吞吐量 任务:中级调度决定把哪些又具备运行条件的挂起就绪进程调入内存成为就绪状态。 (二)调度队列模型 仅有进程调度的调度队列模型 有高低两级调度的调度队列模型 具有三级调度的调度队列模型 1)仅有进程调度的调度队列模型 系统中仅设置进程调度 例如:分时系统中,用户在终端输入命令,OS为之建立一个进程,并将它排在就绪队列的末尾,然后按时间片轮转方式运行。 进程在对应时间片内执行时,若在时间片内: 完成,则释放处理机后进入完成状态 未完成,则OS将进程放在就绪队列的队尾 因某事件而被阻塞,则OS将它放入阻塞队列。 2)有高低两级调度的调度队列模型 除设置进程调度外,还有作业调度。 大型系统中常设置多个阻塞队列,每个队列对应于一种引起进程阻塞的事件。 两级调度队列模型(续) 3)具有三级调度的调度队列模型 包含高、中、低三级调度 在调出操作的作用下,可使内存就绪转变为外存就绪、内存阻塞变为外存阻塞; 在中级调度的作用下可使外存就绪转变为内存就绪。 3)具有三级调度的调度队列模型 (三)调度算法评价 调度实质上是一个策略问题 设定的目标往往是相互冲突的 可能的目标: 单位时间内运行尽可能多的作业 使处理机尽可能保持“忙碌” 使各种I/O设备得以充分利用 对所有的作业都是公平合理的 要设计一个理想的调度算法是一件十分困难的事 在实际系统中,调度算法往往折衷考虑 设计调度算法时应考虑的因素: 系统角度: 调度算法应与系统设计目标保持一致 注意系统资源均衡使用 用户角度: 保证提交的作业在截止时间内完成 设法缩短作业平均周转时间 实际上, 大多数操作系统都采用比较简单的调度算法 二、进程调度 进程调度分两种方式: 抢占方式 非抢占方式 1)非抢占方式 把处理机分配给某进程后,该进程便一直执行至完成或发生某事件而被阻塞时,才再把处理机分配给其它进程,决不允许其他进程抢占已经分配出去的处理机。 优点:实现简单、系统开销小,适用于大多数的批处理系统环境。 缺点:不能满足紧急任务的要求,在实时系统中不宜采用。 2)抢占方式 允许调度程序根据某种原则,去停止正在执行的进程,将处理机重新分配给另一进程。 抢占的原则有: 时间片原则。当进程一个时间片用完后,便停止执行而重新进行调度。 优先权原则。对重要的和紧急的进程赋予较高的优先权。 短进程优先原则。当新到达的进程比正在执行的进程明显地短时,剥夺长进程的执行。 调度准则(Scheduling Criteria) CPU使用率 吞吐量——单位时间内完成的进程数量 周转时间——进程从提交到完成的的时间 等待时间——进程在就绪队列中的等待时间 响应时间——从提交请求到产生第一响应的时间 调度程序(Scheduler) 调度程序从内存中就绪可执行的进程中挑选一个为之分配CPU. CPU 调度在如下四种情况发生: 1. 当一个进程运行状态切换到等待状态 2. 当一个进程运行状态切换到就绪状态 3. 当一个进程等待状态切换到就绪状态 4. 当一个进程终止时 非抢占:1,4 抢占: 2,3 分派程序(Dispatcher) 分派程序将CPU的控制交给调度程序选择的进程 功能包括: 上下文切换 切换到用户模式 跳转到用户程序的合适位置以重启该程序 分派延迟(Dispatch latency):分派程序停止一个进程而启动另一个进程所要花费的时间 常用调度算法 1)先来先服务算法(FCF

文档评论(0)

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

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

1亿VIP精品文档

相关文档