处理机调度
为甚要调度
在多道程序环境中,进程的数量往往会多于处理机的数量,必定会产生进程之间相互竞争处理机的情况,此时,为了能够使得各个进程可以正确的运行,以及提高系统的处理机的利用率和吞吐量,就必定需要调度。
处理机调度是多道操作系统的基础,是操作系统设计的核心问题。
调度的层次
三级调度的联系
作业调度
从外存的后备队列中选择一批作业,载入内存,分配基本的资源,创建进程,加入到进程就绪队列中等待进程调度选择,分配处理机,运行。
中级调度
在内存空间有限制的条件下,为了提高内存的利用率,将需要其他资源的进程挂起,暂时调出内存,腾出内存空间,在内存空间充裕以及资源能够满足的时候,再将进程调回到内存,加入就绪队列中,等待进程调度。
进程调度
从就绪队列中选择一个进程分配处理机运行。
- 作业调度为进程活动做准备
- 作业调度次数少,中级调度略多,进程调度频繁
- 进程调度为最基本的调度,不可或缺
调度的时机、切换和过程
进程调度和切换程序是操作系统的内核程序。
进程切换往往在进程调度后立即发生,要求保存当前进程的现场信息和恢复被调度进程的现场信息。