知识梳理 2


4 CPU调度

基本概念

CPU调度:在主存中选择运行实体(ready queue中的进程/线程),并将CPU分配给它。在内核状态下选择、分配、激活。

  • 进程执行周期:CPU burst + I/O burst
    • CPU burst:进程在 running state
    • I/O burst:进程在 waiting state
  • 进程调度需要以下两个部件:
    • 短期调度程序(short-term scheduler)
    • 分派程序(dispatcher):将CPU分配给短期调度程序选择的进程,功能包括
      • 进程上下文切换
      • 转到user mode
      • 跳到用户程序的合适位置重新开始执行

image-20210903115218222

  • 上图中的t0-t3为派遣时延(dispatch latency)

  • 调度什么时候出现:(1,2为非抢占式,3,4为抢占式)

    1. 进程终止
    2. 运行的进程转为waiting状态(e.g., 进程主动I/O requests,或调用wait等待子进程终止)
    3. 运行的进程转为ready状态(e.g.,中断出现,或时间戳结束)
    4. waiting->ready(e.g.,I/O完成)

调度准则

调度算法