第四章 调度和死锁解读.ppt

第四课 调度和死锁 (Scheduling and Deadlock ) 教学目的: 在多道程序系统中,一个作业从提交到执行完成,要经历多级调度,调度的好坏要影响系统的运行性能,因此调度是多道系统的关键。 为了改善系统资源的利用率和提高系统处理能力,多道程序系统中采用多个进程的并发执行,但它也可能发生死锁的危险,研究死锁的原因和产生条件,采用预防死锁、避免死锁、检测死锁和解除死锁等多种方法防止死锁是多道程序系统重要的研究课题。 教学要求 熟悉处理机三级调度概念和处理机调度模型,作业的状态和作业调度的功能。 掌握进程调度的方式和功能,熟悉调度方式和算法的选择准则,掌握七种调度算法及适合范围。 掌握死锁的定义和产生死锁的原因,掌握死锁的四个必要条件;熟悉预防死锁的方法,熟练掌握银行家算法及其在死锁避免中的应用;掌握资源分配图的简化及其死锁定理,熟悉解除死锁的方法。 (一)进程调度 处理机调度(CPU调度)要解决的问题: WHAT:按什么原则分配CPU —调度算法 WHEN:何时分配CPU —调度的时机 HOW: 如何分配CPU —CPU调度过程(进程的上下文切换) 处理机是计算机系统中的重要资源 处理机调度算法对整个计算机系统的综合性能指标有重要影响 可把处理机调度分成三个层次: 高级调度 中级调度 低级调度 作业的基本概念 (1)用户在一次计算过程中,或者一次事务处理过程中,要求计算机系统所做工作的总称 (2)作业步 一个作业可划分成若干部分,称为一个作业步 典型的作业控制过程: “编译”、“连接装配”、“运行” 批处理作业控制语言与作业说明书 1、作业控制语言 作业说明书:用户用于描述批处理作业处理过程 书写作业说明书的语言称为作业控制语言(JCL) 2、作业说明书 表达用户对作业的控制意图 内容: 作业的基本描述 作业控制描述 资源要求描述 作业控制块与作业表 1、作业控制块(JCB:Job Control Block) 作业控制块是批处理作业存在的标志 保存有系统对于作业进行管理所需要的全部信息 位于磁盘区域中 2、作业控制块的内容 作业控制块中所包含的信息数量及内容因系统而异 3、作业控制块的建立 当作业开始由输入设备向磁盘的输入井传输时,系统输入程序为其建立一个作业控制块,并进行初始化 初始化的大部分信息取自作业说明书 4、作业控制块的使用 需要访问作业控制块的程序: 系统输入程序 作业调度程序 作业控制程序 系统输出程序等 5、作业控制块的撤消 作业完成后,其作业控制块由系统输出程序撤消 作业控制块被撤消后其作业也不复存在 6、作业表 每个作业有个作业控制块 所有作业JCB构成一个作业表 作业表存放在外存固定区域中,长度是固定 限制了系统所能同时容纳的作业数量 系统输入程序、作业调度程序、系统输出程序都需要访问作业表,因而存在互斥问题 作业调度 1。作业的状态 作业从进入到运行结束,一般需要经历“提交”、“后备”、“运行”和“完成”四个阶段。 提交状态 一个作业被提交给机房后正在通过SPOOLing系统进行输入或用户通过终端向计算机中键入其作业时所处于的状态为提交状态。 后备状态 作业已经过SPOOLing系统输入到磁盘输入井,等待调入内存运行,此时作业处于后备状态。为了管理和调度作业,为每个作业设置一个作业控制块(JCB)。作业控制块记录了作业类型和资源要求等有关信息。作业控制块按作业类型组成一个或多个后备作业队列。 作业调度-1 运行状态 一个在后备作业队列的作业被作业调度程序选中后,分配必要的资源,建立一组相应的进程后,调入内存,该作业就进入运行状态。进程各状态(进程运行态、内存进程就绪态、内存阻塞态、外存进程就绪态、外存进程阻塞态等)都对应作业运行状态。 完成状态 当进程正常运行结束或因发生错误而终止时,作业进入完成状态。终止作业程序将负责善后处理。 (一)调度(Scheduling) (1)处理机三级调度 1。高级(Long-term)调度――作业调度 作业调度用于决定把外存输入井上处于作业后备队列上的哪些作业调入内存,并为它们创建进程、分配必要的资源,然后再将新创建的进程排在就绪队列上,准备执行。在批处理系统中,作业是先驻留在外存的输入井上的,因此需要有作业调度。然而在分时系统中,通过键盘输入的命令和数据直接进入内存,无需作业调度。 。 处理机三级调度 2。低级(Short-term)调度――进程调度 进程调度决定就绪队列中哪个进程将获得处理机,然后由分派程序执行把处理机分

文档评论(0)

1亿VIP精品文档

相关文档