第三章 处置机调度与死锁
一个批处置型作业,从进入系统并驻留在外存的后备队列上
开始,直至作业运行完毕,可能要经历的三级调度:
高级调度 低级调度 中级调度
高级调度
又称作业调度、长程调度、接纳调度
作用:把外存上处于后备队列中的作业调入内存,并为它们
创建进程、分派资源、排在就绪队列上,预备执行。
分时系统、实时系统,通常不需要作业调度。
低级调度
也称为进程调度、短程调度。
作用:决定就绪队列中的哪个进程应取得处置机,然后由分
派程序执行把处置机分派给该进程的具体操作。
在OS中都必需配置。
进程调度的两种调度方式
非抢占方式 抢占方式
非抢占方式
一旦把处置机分派给某进程后,便让该进程一直执行,直至
该进程完成或阻塞时,才再把处置机分派给其他进程。
非抢占方式引发进程调度的因素
进程执行完毕,或因发生某事件而不能再继续执行; 执行中的进程因提出I/O请求而暂停执行;
在进程通信或同步进程中执行了某种原语操作,如P操作
(wait操作)、BLOCK原语、WAKEUP原语等。
抢占方式
许诺暂停某个正在执行的进程,将已分派给该进程的处置机
从头分派给另一进程。
抢占原那么
优先原那么。优先权高的进程抢占处置机。
短作业优先原那么。短作业(进程)抢占当前较长作业(进
程)的处置机。
时刻片原那么。各进程按时刻片运行,当一个时刻片用完后
从头调度。
中级调度
又称中程调度
目的:提高内存利用率和系统吞吐率
作用:使临时不能运行的进程从内存调至外存,进入就绪驻外存状态
或挂起状态。把外存上又具有运行条件的就绪进程,从头调入内存,并修改成绩绪状态,挂在就绪队列上。
又称对换
调度队列模型
仅有进程调度的调度队列模型 有高级和低级调度的调度队列模型 同时有三级调度的调度队列模型
仅有进程调度的调度队列模型
通常,把就绪进程组织成FIFO队列,每当创建新进程时排在
就绪队列的末尾,按时刻片轮转方式运行
进程在执行时,显现三种情形:
任务在时刻片内完成,进程便在释放处置机后进入完成状态; 任务在时刻片内未完成,OS便将该任务再放入就绪队列的末
尾;
在执行期间,进程因为某事件而被阻塞后,被OS放入阻塞队
列。
有高级和低级调度的调度队列模型