第四课调度和死锁 (Scheduling and Deadlock) 教学目的: 在多道程序系统中,一个作业从提交到执行完成, 要经历多级调度,调度的好坏要影响系统的运行性 能,因此调度是多道系统的关键。为了改善系统资 源的利用率和提高系统处理能力,多道程序系统中 采用多个进程的并发执行,但它也可能发生死锁的 危险,研究死锁的原因和产生条件,采用预防死锁、 避免死锁、检测死锁和解除死锁等多种方法防止死 锁是多道程序系统重要的研究课题
第四课 调度和死锁 (Scheduling and Deadlock ) 教学目的: 在多道程序系统中,一个作业从提交到执行完成, 要经历多级调度,调度的好坏要影响系统的运行性 能,因此调度是多道系统的关键。为了改善系统资 源的利用率和提高系统处理能力,多道程序系统中 采用多个进程的并发执行,但它也可能发生死锁的 危险,研究死锁的原因和产生条件,采用预防死锁、 避免死锁、检测死锁和解除死锁等多种方法防止死 锁是多道程序系统重要的研究课题
教学要求: 熟悉处理机三级调度概念和处理机调度模型,掌 握作业的状态和作业调度的功能。 掌握进程调度的方式和功能,熟悉调度方式和 算法的选择准则,掌握七种调度算法及适合范围。 掌握死锁的定义和产生死锁的原因,掌握死锁的 四个必要条件;熟悉预防死锁的方法,熟练掌握 银行家算法及其在死锁避免中的应用;掌握资源 分配图的简化及其死锁定理,熟悉解除死锁的方 法
教学要求: 熟悉处理机三级调度概念和处理机调度模型,掌 握作业的状态和作业调度的功能。 掌握进程调度的方式和功能,熟悉调度方式和 算法的选择准则,掌握七种调度算法及适合范围。 掌握死锁的定义和产生死锁的原因,掌握死锁的 四个必要条件;熟悉预防死锁的方法,熟练掌握 银行家算法及其在死锁避免中的应用;掌握资源 分配图的简化及其死锁定理,熟悉解除死锁的方 法
(一)调度( Scheduling (1)处理机三级调度 1。高级(Long-term)调度一一作业调度 作业调度用于决定把外存输入井上处于作业后备队列上的哪 些作业调入内存,并为它们创建进程、分配必要的资源,然 后再将新创建的进程排在就绪队列上,准备执行。在批处理 系统中,作业是先驻留在外存的输入井上的,因此需要有作 业调度。然而在分时系统中,通过键盘输入的命令和数据直 接进入内存,无需作业调度。 2。低级( Short-term)调度一一进程调度 进程调度决定就绪队列中哪个进程将获得处理机,然后由分 派程序执行把处理机分配给该进程的操作。进程调度是最基 本的调度,任何操作系统都有进程调度
(一)调度(Scheduling) (1)处理机三级调度 1。高级(Long-term)调度――作业调度 作业调度用于决定把外存输入井上处于作业后备队列上的哪 些作业调入内存,并为它们创建进程、分配必要的资源,然 后再将新创建的进程排在就绪队列上,准备执行。在批处理 系统中,作业是先驻留在外存的输入井上的,因此需要有作 业调度。然而在分时系统中,通过键盘输入的命令和数据直 接进入内存,无需作业调度。 2。低级(Short-term)调度――进程调度 进程调度决定就绪队列中哪个进程将获得处理机,然后由分 派程序执行把处理机分配给该进程的操作。进程调度是最基 本的调度,任何操作系统都有进程调度
处理机三级调度-1 3。中级( Medium-term)调度—对换 引入中级调度的目的是为了提高主存利用率和系统 吞吐量。由于在进程并发执行过程中,为了充分发 挥内存的效能,需将那些暂时不能运行的进程从内 存调到外存盘交换区去等待,而将那些在盘交换区 的等待事件已经发生急需调度运行的进程从盘交换 区调入内存。在UNIX系统中中级调度就是存储管理 中的对换,采用虚拟存储技术的分时系统往往设立 中级调度
处理机三级调度-1 3。中级(Medium-term)调度——对换 引入中级调度的目的是为了提高主存利用率和系统 吞吐量。由于在进程并发执行过程中,为了充分发 挥内存的效能,需将那些暂时不能运行的进程从内 存调到外存盘交换区去等待,而将那些在盘交换区 的等待事件已经发生急需调度运行的进程从盘交换 区调入内存。在UNIX系统中中级调度就是存储管理 中的对换,采用虚拟存储技术的分时系统往往设立 中级调度
图:处理机三级调度 作业调度 作业运行状态 外存 主存 终止作业 作业作业进程调度人运行 交一后备 态 态状态 作业完 成状态 就绪 阻塞 中级调度 外存(盘)交换区 就绪 阻塞 态 态
图:处理机三级调度 外存(盘)交换区 作 业 后 备 状态 作 业 提 交 状态 作 业 完 成状态 终止作业 就 绪 态 阻 塞 态 中级调度 主存 进程调度 运 行 态 就 绪 态 阻 塞 态 作业调度 作业运行状态 外存