知识梳理 2
知识梳理 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
- 跳到用户程序的合适位置重新开始执行
上图中的t0-t3为派遣时延(dispatch latency)
调度什么时候出现:(1,2为非抢占式,3,4为抢占式)
- 进程终止
- 运行的进程转为waiting状态(e.g., 进程主动I/O requests,或调用wait等待子进程终止)
- 运行的进程转为ready状态(e.g.,中断出现,或时间戳结束)
- waiting->ready(e.g.,I/O完成)