处理机调度与死锁N.pptx
第三章处理机调度与死锁3.1处理机调度的层次3.2调度队列模型和调度准则3.3调度算法3.4实时调度3.5产生死锁的原因和必要条件3.6预防死锁的方法3.7死锁的检测与解除
教学目的与要求理解处理机调度的概念和调度的层次掌握各种作业、进程调度算法和实时调度算法理解死锁的基本概念掌握死锁的处理方法教学重点:各种作业、进程调度算法和死锁的处理方法等。教学难点:作业、进程调度算法,死锁
对资源进行有效的调度是非常必要的,我们生活中也会经常遇到,如:调度银行出纳员服务顾客请求问题等。CPU是计算机系统中的一个十分重要的资源,对它进行高效的调度是操作系统设计的中心问题之一。3.1处理机调度的层次
3.1处理机调度的层次高级调度(作业调度、长程调度、接纳调度)1、作业和作业步作业:包含程序、数据和作业说明书。作业步:作业执行过程中的每一个加工步骤作业流:作业进入系统,依次存于外存形成作业流2、作业控制块(JCB)它是作业在系统中存在的标志,其中保存了系统对作业进行管理和调度所需的全部信息。内容:作业标识,用户名,作业类型,作业状态,调度信息等进入系统-建立JCB-插入相应后备队列-作业调度-作业控制-作业结束-回收资源
作业调度将外存作业调入内存,创建PCB等,插入就绪队列。一般用于批处理系统,分/实时系统一般直接入内存,无此环节。调度特性接纳作业数(内存驻留数,多道程序度)太多――― 周转时间T长太少――― 系统效率低接纳策略:即采用何种调度算法:FCFS、短作业优先等
3.1.2低级调度(进程调度,短程调度)主要是决定就绪队列中的哪个进程应获得处理机,然后由分派程序(Dispatcher)分派处理机。1.低级调度的功能:保存处理机现场信息按某种算法选取进程把处理机分配给进程2.进程调度的三个进步机制排队器分派器上下文切换机制:两对切换
CPUSwitchFromProcesstoProcess
3.进程调度方式:1)非抢占方式: 简单、系统开销小,实时性差(如win31)2)抢占方式(1)优先权原则(2)短进程优先原则(3)时间片原则引起进程调度的因素有哪些?进程正常终止或异常终止进程因某种原因阻塞:I/O请求;wait操作等时间片用完抢占方式下,就绪队列中某进程的优先权比当前执行的进程高
为提高系统吞吐量和内存利用率而引入的一内--外存对换功能(换出时,进程为挂起或就绪驻外存状态)三级调度的运行频率低中高。3.1.3中级调度(中程)
仅有进程调度的队列模型就绪队列CPU阻塞队列交互用户时间片完进程调度进程完成等待事件事件出现3.2调度的队列模型和调度准则
具有高、低级调度的队列模型就绪队列CPU阻塞队列时间片完进程调度进程完成等待事件1事件1出现后备队列阻塞队列等待事件2事件2出现作业调度调度的队列模型
3.具有三级调度的队列模型就绪队列CPU就绪、挂起队列时间片完进程调度进程完成后备队列阻塞、挂起队列事件出现作业调度阻塞队列等待事件挂起事件出现中级调度交互型作业
3.2.2选择调度方式和调度算法的若干准则1、面向用户的准则周转时间短(常用于批处理系统)01概念:作业从提交――完成的时间.分为:驻外存等待调度时间驻内存等待调度时间执行时间阻塞时间02
平均周转时间可见带权w越小越好,Ts为实际服务时间。平均带权010203面向用户的准则选择调度方式和算法的若干准则
选择调度方式和算法的若干准则面向用户的准则响应时间快:(对交互性作业)概念:键盘提交请求到首次响应时间输入传送时间处理时间响应传送时间截止时间的保证(特别是实时系统)优先权准则:(即需要抢占调度)
面向系统的准则03各类资源的平衡利用。吞吐量高(特别是批处理):单位时间完成作业数0102处理机利用率好:(因CPU贵,特别是大中型多用户系统)选择调度方式和算法的若干准则
3.3调度算法——是一个资源分配问题先来先服务调度算法(FCFS)特点:简单,有利于长作业(进程)即CPU繁忙性作业,不利于短作业(进程)短作业(进程)优先调度算法:SJ(P)F提高了平均周转时间和平均带权周转时间(从而提高了系统吞吐量)特点:对长作业不利,有可能得不到服务估计时间不易确定先来先服务和短作业(进程)优先调度算法
先来先服务算法实例
图3-4FCFS和SJ(P)F比较
高优先权优先调度算法1.优先权调度算法类型非抢占式优先权算法抢占式优先权算法,实时性更好。2.优先权类型:1)静态优先权:进程优先权在整个运行期不变。确定优先权依据进程类型进程对资源的需求;根据用户需求。特点:简单,但低优先权作业可能长期不被调度(饥饿)。(例子MITIBM704