第三章 处理机调度与死锁
一、处理机调度的基本概念
作业进入系统驻留在外存的后备队列上,再至调入内存运行完毕,可能要经历下述三级调度。
•高级调度(High Scheduling)
•中级调度(Intermediate-Level Scheduling)
•低级调度(Low Level Scheduling)
1.高级调度
又称作业调度或长程调度(Long-Term
Scheduling),接纳调度(Admission
Scheduling)
主要在早期批处理阶段,处理在外存上的作业。
决定外存后备队列中的哪些作业调入内存;
为它们创建进程、分配必要的资源;
将新创建的进程排在就绪队列上,准备执行。
*管理的方面比较多。
2.低级调度
也称为进程调度、微观调度或短程调度(Short-Term Scheduling)
决定内存就绪队列中的哪个进程获得处理机,进行分配工作。是最基本的一种调度,在三种基本OS中都有。
进程调度方式
1)非抢占方式(Non-preemptive Mode)
一旦处理机分配给某进程,该进程一直执行。决不允许其他进程抢占已分配运行进程的处理机。
2)抢占方式(Preemptive Mode)
允许调度程序根据某种原则,暂停某个正在执行的进程,将处理机重新分配给另一进程。
3.中级调度
又称交换调度或中程调度(Medium-Term Scheduling)
引入目的:提高内存利用率和系统吞吐量。根据条件将一些进程调出或再调入内存。
三种调度的频率和复杂度
进程调度:运行频率最高,算法不能太复杂,以免占用太多的CPU时间。分时系统通常10~100ms便进行一次。
作业调度:一个作业运行完毕退出系统时即触发重新调度一个新作业入内存,周期较长,大约几分钟一次。因而也允许作业调度算法花费较多的时间。
中级调度:运行频率基本上介于上述两种调度之间。
三级调度比较