什么是处理机调度?
处理机调度:多道程序环境下,动态的把处理机分配给就绪队列中的一个进程使之执行。
提高处理机的利用率,改善系统性能,很大程度上取决于处理机调度的性能。
处理机调度便成为了OS涉及的中心问题之一。分配的任务由处理结果调度程序完成。
一、处理机调度的基本概念
作业进入系统驻留在外存的后备队列上,再至调入内存运行完毕,可能要经历如下三级调度:
①高级调度:又称作业调度或长程调度,接纳调度
主要在早期批处理阶段,处理在外存上的作业
决定外存后备队列中的哪些作业调入外存;
为它们创建线程,分配必要的资源;
将新创建的进程排在就绪队列上,准备执行。
*管理方面比较多
*作业调度决定的细节
在每次执行作业调度时,都需要作出两个决定:
接纳多少作业---取决于多道程序度。应根据系统的规模和运行速度等情况综合考虑
接纳哪些作业---取决于采用的调度算法。如先来先服务,短作业优先等
*系统运行并不一定存在高级调度
批处理系统:作业进入系统后先驻留外存,故需要有作业调度。
分时系统:为及时响应,作业由终端直接送入内存,故不需要作业调度。
实时系统:通常不需要作业调度。
②中级调度:又称交换调度或者中程调度
引入目的:提高内存利用率和系统吞吐量。根据条件将一些进程调出或者再调入内存。
③低级调度:也称进程调度、微观调度或短程调度
决定内存就绪队列中的哪个进程获得处理机,进行分配工作。是最基本的一种调度,在三种基本OS中都有。
进程调度的方式:
1)非抢占方式 一旦处理机分配给某进程,该进程一直执行,绝不允许其他进程抢占已分配运行进程的处理机。
调度时机:程序完成;发生某事件阻塞;
特点:实现简单,系统开销少;功能也简单,适用于大多数批处理OS,但在要求较为严格的实 时系统中,不宜采用
2)抢占方式 允许调度程序根据某种规则,暂停某个正在执行的进程,将处理机重新分配给另一进程。
调度时机:发生某事件阻塞;新进程就绪;
特点:抢占的原则有很多种:优先权高的可以抢占优先权低的进程的处理机。
短作业可以抢占长作业的处理机。各进程按照时间片运行,一个时间片用完重新进行调度。
调度程序的任务职能:调度和分派
1)记录系统中所有进程的有关情况 -------记录在哪?PCB
2)确定分配处理机的原则 -------算法?
3)分配处理结果给进程 保存、更新CPU现场;
4)从进程回收处理机 进程队列处理
三级调度比较
调度类型 运行频率 运行时间 算法复杂度
进程调度 高 短 低
中程调度 中等 较短 中等
作业调度 低 长 高
调度队列模型
1) 仅有进程调度的调度队列模型
2)具有高级和低级调度的调度队列模型
3)同时具有三级调度的调度队列模型