08-调度

CPU调度-调度指标

  • CPU使用率(CPU忙状态所占的时间比例)
  • 吞吐量(单位时间内完成的进程数量)
  • 周转时间(一个进程从初始化到结束,花费的所有时间)
  • 等待时间(进程在就绪队列中等待的总时间)
  • 响应时间(一个请求从提交到产生相应所花费的时间)

调度策略

FCFS( first come first served先来先服务)

不公平,平均等待时间较差

SPN(short process next)

短任务优先,按照预测的完成时间来将任务入队
最优平均等待时间
问题:连续的短任务流会使长任务饥饿
短任务可用时的任何长任务的CPU时间都会增加平均等待时间
需要预估下一个CPU突发的执行时间
简单解决办法:询问用户,如果用户欺骗就杀死进程

最高响应比优先

在SPN调度基础上改进,不可抢占,关注进程等待了多长时间,放直无限期推迟
R=(W+S)/s
w:等待时间 s:服务时间,选择R值最高的进程

轮询算法(Round Robin)

时间片轮循,公平名单时平均等待时间较差
时间片太长导致退化为FCFS,太短导致吞吐量受影响
额外的上下文切换开销。

Multilevel Feedback Queue

image.png

优先级队列中的轮循,把所有就绪进程分为不同的级别队列,分为交互性和后台,每个队列有自己的调度方法,一个进程可以在不同队列中移动,时间片大小随优先级增加而增加,如果一个认为在当前时间片没有完成,则降级,等待交互性任务完成后继续执行计算型任务。I/O密集型任务长期拥有较高的优先级。

Fair Share Scheduling

在用户级别对资源公平共享,在线程级别由用户来调度完成。

实时调度

强实时系统,保证在时间内完成,
弱实时系统,尽量在时间内完成

静态优先级调度

在任务前就确定了优先级,如RM(Rate Monotonic)速率单调调度,周期越短优先级越高

动态优先级调度

在运行期间确定优先级,EDF(Earliest Deadline First)最早期限调度,Dealine越早就越先调度。

多处理器调度

主要考虑负载均衡,将多个相同的单处理组成一个多处理器

优先级反转

    先给3个任务,T1>T2>T3, 如果T3先出现,则调度T3,T3访问了一个共享资源,后来T1来了,T1优先级最高,所以抢占,但是共享资源被T3锁住了,于是阻塞,T1开始执行,但是这时候T2横插一手,导致T1有不能执行,最终导致T1不能正常完成,

我们应该设计优先级继承,即当T1在等待T3执行完成的时候,将T3的优先级提升到和T1一样,让T2插不进来,才能保证T3的完成,进而释放资源好让T1完成。
   这个方法又叫优先级天花板

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 进程的挂起态和七状态模型 暂时调到外存等待的进程状态为挂起状态挂起态又可以进一步细分为就绪挂起、阻塞挂起两种状态 ...
    幺姨母阅读 4,719评论 0 0
  • 15.1处理机调度概念 CPU资源的时分复用 ■进程切换:CPU资源的当前占用者切换 保存当前进程在PCB中的执行...
    龟龟51阅读 4,423评论 0 0
  • 原文地址: https://qjm253.cn/2018/06/29/os_03/ CPU调度的基本概念主要目标:...
    SunnyQjm阅读 5,843评论 0 4
  • CPU调度 背景 CPU调度从就绪队列中挑选一个进程/线程作为CPU将要运行的下一个进程/线程调度程序:挑选进程/...
    咋家阅读 3,978评论 0 1
  • 分为六大部分: 一.处理机调度相关基本概念 二.常用调度算法 三.实时调度 四.产生死锁的原因和必要条件 五.预防...
    一萌新一阅读 4,367评论 0 3