文档介绍:第3章处理机调度与死锁
本章学习目标
掌握处理机的三级调度
掌握作业调度及进程调度的概念
理解调度算法的评价准则
掌握并灵活运用常用的几种作业调度、进程调度算法
掌握死锁的概念、产生的原因及死锁的必要条件
掌握死锁的预防方法及利用银行家算法避免死锁的方法
掌握死锁的检测与恢复的方法,并能灵活运用
第 3章处理机调度与死锁
1
教学内容
分级调度
作业调度
进程调度
调度算法
LINUX系统的调度算法
死锁问题
死锁的预防与避免
利用银行家算法避免死锁
死锁的检测与解除
分级调度
一个批处理型作业,从进入系统并驻留在外存的后备队列上开始,直至作业运行完毕,可能要经历以下三级调度:即作业调度、对换和进程调度。
第 3章处理机调度与死锁
3
调度的层次
作业调度又称为高级调度或长调度,用于选择把外存上处于后备队列中的哪些作业调入内存,并为它们创建进程、分配必要的资源。然后,再将新创建的进程排在就绪队列上,准备执行。在批处理系统中,需要有作业调度的过程,以便将它们分批地装入内存。无须再配置作业调度机制。在分时系统和实时系统中,通常也不需要作业调度。
第 3章处理机调度与死锁
4
一个作业从提交给计算机系统到执行结束退出系统,一般都要经历提交、后备、执行和完成等4个状态。
提交状态:一个作业在其处于从输入设备进入外部存储设备的过程称为提交状态。
后备状态:也称为收容状态。若一个作业的全部信息已全部被输入进输入井,则在它还未被调度去执行之前,该作业处于后备状态。
执行状态:作业调度程序从后备作业中选取若干个作业到内存投入运行。它为被选中作业建立进程并分配必要的资源,这时,这些被选中的作业处于执行状态。
完成状态:当作业运行完毕,但它所占用的资源尚未全部被系统回收时,该作业处于完成状态。
第 3章处理机调度与死锁
5
又称交换调度或中级调度。其主要任务是按照给定的原则和策略,将处于外存交换区中的就绪状态或等待状态的进程调入内存,或把处于内存就绪状态或内存等待状态的进程交换到外存交换区。
第 3章处理机调度与死锁
6
进程调度又称为低级调度或微观调度。其主要任务是按照某种策略和算法,将处理机分配给一个处于就绪状态的进程。进程调度可分为下列两种方式:
(1) 非抢占方式:非抢占方式不允许进程抢占已经分配出去的处理机。
(2) 抢占方式:抢占调度方式允许调度程序根据某种原则,暂停某个正在执行的进程,将处理机收回,重新分配给另一个进程。
第 3章处理机调度与死锁
7
第 3章处理机调度与死锁
完成
作业调度
预输入
输
入
井
缓输出
图3-1 作业调度与进程调度
作业
输
出
井
就绪
运行
等待
结果
8
作业是用户向计算机提交任务的任务实体。一个作业是指在一次应用业务处理过程中,从输入开始到输出结束,用户要求计算机所做的有关该次业务处理的全部工作。一个作业总是由一个或多个进程组成的。作业分解为进程的过程是:系统首先为一个作业创建一个根进程。然后,在执行作业控制语句时,根据任务要求,系统或根进程为其创建相应的子进程。最后,进行进程调度,为各子进程分配资源和调度各子进程执行,以完成作业要求的工作。
作业与进程的关系
9
作业调度
作业调度主要是完成作业从后备状态到执行状态的转换,以及从执行状态到完成状态的转换。
第 3章处理机调度与死锁
10