定义
CPU 调度(处理机调度)是操作系统从就绪队列中按照特定算法选择一个进程并将 CPU 分配给它运行的过程。
调度层次
- 作业调度(高级调度):内存与辅存之间的调度,决定哪些作业进入内存
- 中级调度(内存调度):将暂时不能运行的进程换出到外存(挂起态)
- 进程调度(低级调度):从就绪队列选择进程分配 CPU,频率最高(约 10ms 一次)
典型调度算法
| 算法 | 特点 | 适用场景 |
|---|---|---|
| FCFS | 先来先服务,对长作业有利 | 批处理系统 |
| SJF | 短作业优先,平均周转时间最少 | 批处理系统 |
| 优先级调度 | 按优先级分配 CPU | 实时系统 |
| 高响应比优先 | 响应比 = (等待时间 + 要求服务时间) / 要求服务时间 | 综合 |
| 时间片轮转 | 按时间片轮流执行 | 分时系统 |
| 多级反馈队列 | 综合时间片和优先级 | 通用 |
调度方式
- 非剥夺式(非抢占):一旦分配 CPU,直到进程主动释放
- 剥夺式(抢占):可强制收回 CPU 分配给其他进程