基础概念
相关提炼内容见 scheduling。
调度的概念
调度的基本概念
处理机调度是对处理机进行分配,即从就绪队列按照一定的算法(公平、高效)选择一个进程并将处理机分配给他运行,以实现进程并发地执行
调度层次
作业调度/高级调度
- 内存与辅存之间的调度
- 多道批处理系统大多配有作业调度,而其他系统中通常不需要配置作业调度
中继调度/内存调度
- 作用:提高内存利用率和系统吞吐量
- 为此将哪些暂时不能运行的进程调至外存等待,把此时的进程状态称为** 挂起态** ,当它们已具备运行条件且内存稍有空闲时,则重新调入内存,并修改其状态为就绪态,挂在就绪队列上等待
进程调度/低级调度
- 是操作系统中最基本的一种调度,进程调度的频率很高,一般十几毫秒一次
三级调度的联系
- 作业调度为进程活动做准备,进程调度使进程正常活动起来,中级调度将暂时不能运行的进程挂起,中级调度处于作业调度和进程调度之间
- 作业调度次数少,中级调度次数略多,进程调度频率最高
- 进程调度是最基本的,不可或缺
调度的时机、切换与过程
- 不能进行进程的调度与切换的情况
- 在处理中断的过程中
- 进程在操作系统内核程序临界区中
- 其他需要完全屏蔽中断的原子操作过程中。如加锁、解锁、中断保护现场、恢复等原子操作
- 应该进行进程调度与切换的情况
- 发生引起调度条件且当前进程无法继续运行下去时,可以马上进行调度与切换
- 中断处理结束或自陷处理解除后,返回被中断进程的用户态程序执行现场前,若置上请求调度标志,即可马上进行进程调度与切换
进程调度方式
- 非剥夺调度方式,又称非抢占方式
- 剥夺调度方式
调度的基本准则
- CPU 利用率
- 系统吞吐量
- 周转时间
- 周转时间 = 作业完成时间 - 作业提交时间
- 平均周转时间 = (作业 1 周转时间 + … + 作业 n 周转时间)/ n
- 带权周转时间 = 作业周转时间 / 作业实际运行时间
- 平均带权周转时间 = (作业 1 带权周转时间 + … + 作业 n 带权周转时间)/ n
- 等待时间
- 响应时间