操作系统课程课件6.pptVIP

  1. 1、本文档共35页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
操作系统概念 第六章:CPU调度 本章主要内容 基本概念 调度准则 调度算法 多处理器调度 实时调度 算法评估 进程调度模型 6.1 基本概念 利用多道程序最大化CPU使用率。 CPU – I/O周期 - 进程执行由CPU执行和I/O等待周期组成。 CPU区间分布情况 CPU区间和I/O区间的交替序列 CPU区间时间直方图 CPU调度程序 调度程序从内存中就绪可执行的进程里选择一个,并为其中之一分配CPU。 CPU调度决策可以如下四种情况下发生 当一个进程从运行状态切换到等待状态 当一个进程从运行状态切换到就绪状态 当一个进程从等待状态切换到就绪状态 当一个进程终止时。 当调度只能发生在第一和第四两种情况时,称调度方法是非抢占的(nonpreemptive) 否则调度方案就是可抢占(preemptive)的。 分派程序(Dispatcher) 分派程序是一个模块,用来将CPU的控制交给由短期调度程序所选择的进程。其功能包括 切换上下文 切换到用户模式 跳转到用户程序的合适位置以重新启动这个程序 分派延迟(dispatch latency) - 分派程序停止一个进程而启动另一个进程执行所要花费的时间。 6.2 调度准则(Scheduling Criteria) CPU使用率:使CPU尽可能忙 吞吐量(Throughput):单位时间完成进程的数量 周转时间(Turnaround time):从进程提交到进程完成的时间间隔称为周转时间 等待时间(Waiting time):是在就绪队列中等待所花时间之和。 响应时间(Response time):从提交请求到产生第一响应的时间。 优化准则(Optimization Criteria) 最大化CPU使用率 最大化吞吐量 最小化周转时间 最小化等待时间 最小化响应时间 6.3 调度算法 先到先服务调度(First Come, First Served, FCFS) 最短作业优先调度(Shortest-Job-First, SJR) 优先权调度(Priority Scheduling) 轮转法调度(Round Robin, RR) 多级队列调度(multilevel queue-scheduling) 多级反馈队列调度(multilevel feedback queue scheduling) 先来先服务调度(FCFS) 假设进程按P1、P2、P3的顺序到达。则该调度的Gantt图如下: 假设进程按P2, P3, P1的顺序到来,则其调度的Gannt图如下 最短作业优先调度(Shortest-Job-First, SJR) 将每个进程与其下一个CPU区间段相关联。当CPU为可用时,它会赋给具有最短后续CPU区间的进程。如果两个进程具有同样长度的CPU区间,那么可以使用FCFS调度来处理。 两种方式 非抢占式:一旦进程获得CPU就一直占据CPU,直到其CPU区间完成为止 抢占式:如果一个新来的进程其CPU区间小于当前进程的CPU区间,则抢占之。这种调度方式称为最短剩余时间作业优先(Shortest Remaining Time First, SRTF) SJF是最佳的:对于给定的一组进程,SJF算法的平均等待时间最小。 非抢占式SJF的实例 抢占式SJF的实例 确定下一CPU区间的长度 只能估计CPU区间的长度,无法精确计算 下一CPU区间的长度通常可预测为以前CPU区间的测量长度的指数平均 下一个CPU区间长度的预测 指数平均计算的实例 优先级调度(Priority Scheduling) 每个进程被赋予一个优先级数字(优先权) CPU分配给优先权高的进程(优先级数字越小,则优先权越大) 抢占式 非抢占式 SJF是一种特定的优先权调度方法,其优先权为下一个CPU区间的倒数 该算法存在的问题:饥饿(starvation) 低优先权的进程可能永远无法执行 解决办法:老化(aging) 随着时间的推进,进程的优先权逐渐提高 轮转法调度(Round Robin) 轮转法是专门为分时系统而设计的。每个进程获得一小片CPU时间量(time quantum),通常为10-100毫秒。时间片结束后,进程被抢占并放入到就绪队列的最后重新参加调度。 如果就绪队列中有n个进程,具时间片为q,则每个进程会得到1/n的CPU时间,每个长度不超过q时间单元。每个进程必须等待CPU的时间不会超过(n-1)q个时间单元,直到它的下一个时间片为止。 性能低速于时间片的大小 如果时间片非常大(无限),那么RR策略与FCFS策略一样。 如果时间片很小,那么RR方法称处理器共享。n个进程对于用户来说都有它自己的处理器,速度各为真正处理器速度的1/n q必须大于上下文切换所需时间 时间片=20时的RR实例 时间片与上

文档评论(0)

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

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

1亿VIP精品文档

相关文档