第三章处理机调度与死锁 第三章处狸机调度与死锁 3.1处狸机调度的基本概念 3.2调度算法 3.3实时调度 3.4多处理机糸统中的调度 3.5产生死锁的原因和必要畚件 3.6预防死锁的方法 3.7死锁的检测与解除 BACK
第三章 处理机调度与死锁 第三章 处理机调度与死锁 3.1 处理机调度的基本概念 3.2 调度算法 3.3 实时调度 3.4 多处理机系统中的调度 3.5 产生死锁的原因和必要条件 3.6 预防死锁的方法 3.7 死锁的检测与解除
第三章处理机调度与死锁 31处理机调度的基本概念 311高级、中级和低级调度 1.高级调度( High Scheduling 在每次执行作业调度时,都须做出以下两个决定。 1)接纳多少个作业 2)接纳哪些作业
第三章 处理机调度与死锁 3.1 处理机调度的基本概念 3.1.1 高级、中级和低级调度 1. 高级调度(High Scheduling) 在每次执行作业调度时,都须做出以下两个决定。 1) 接纳多少个作业 2) 接纳哪些作业
第三章处理机调度与死锁 2低级调度 Low Level scheduling 1)非抢占方式( Non-preemptive mode) 在采用非抢占调度方式时,可能引起进程调度的因素可 归结为这样几个:①正在执行的进程执行完毕,或因发生 某事件而不能再继续执行;②执行中的进程因提出IO请求 而暂停执行;③在进程通信或同步过程中执行了某种原语 操作,如P操作(wait操作)、 Block原语、 Wakeup原语等。这 种调度方式的优点是实现简单、系统开销小,适用于大多数 的批处理系统环境。但它难以满足紧急任务的要求一立即 执行,因而可能造成难以预料的后果。显然,在要求比较严 格的实时系统中,不宜采用这种调度方式
第三章 处理机调度与死锁 2. 低级调度(Low Level Scheduling) 1) 非抢占方式(Non-preemptive Mode) 在采用非抢占调度方式时,可能引起进程调度的因素可 归结为这样几个:① 正在执行的进程执行完毕, 或因发生 某事件而不能再继续执行; ② 执行中的进程因提出I/O请求 而暂停执行;③ 在进程通信或同步过程中执行了某种原语 操作,如P操作(wait操作)、Block原语、Wakeup原语等。这 种调度方式的优点是实现简单、系统开销小,适用于大多数 的批处理系统环境。但它难以满足紧急任务的要求——立即 执行,因而可能造成难以预料的后果。显然,在要求比较严 格的实时系统中,不宜采用这种调度方式
第三章处理机调度与死锁 2)抢占方式( Preemptive mode) 抢占的原则有: (1)优先权原则 2)短作业进程)优先原则。 (3)时间片原贝
第三章 处理机调度与死锁 2) 抢占方式(Preemptive Mode) (1) 优先权原则。 (2) 短作业(进程)优先原则。 (3) 时间片原则
第三章处理机调度与死锁 3中级调度( Intermediate- Level scheduling) 中级调度又称中程调度( Medium- Term Scheduling)。引 入中级调度的主要目的,是为了提高内存利用率和系统吞 吐量。为此,应使那些暂时不能运行的进程不再占用宝贵 的内存资源,而将它们调至外存上去等待,把此时的进程 状态称为就绪驻外存状态或挂起状态。当这些进程重又具 备运行条件、且内存又稍有空闲时,由中级调度来决定把 外存上的哪些又具备运行条件的就绪进程,重新调入内存, 并修改其状态为就绪状态,挂在就绪队列上等待进程调度
第三章 处理机调度与死锁 3. 中级调度(Intermediate-Level Scheduling) 中级调度又称中程调度(Medium-Term Scheduling)。 引 入中级调度的主要目的,是为了提高内存利用率和系统吞 吐量。 为此,应使那些暂时不能运行的进程不再占用宝贵 的内存资源,而将它们调至外存上去等待,把此时的进程 状态称为就绪驻外存状态或挂起状态。当这些进程重又具 备运行条件、且内存又稍有空闲时,由中级调度来决定把 外存上的哪些又具备运行条件的就绪进程,重新调入内存, 并修改其状态为就绪状态,挂在就绪队列上等待进程调度
第三章处理机调度与死锁 312调度队列模型 1.仅有进程调度的调度队列模型 时间片完 进程调度 交互用户 进程完成 就|绪队列 CPU 事件出现 等待事件 阻塞队列 图3-1仅具有进程调度的调度队列模型
第三章 处理机调度与死锁 3.1.2 调度队列模型 1. 仅有进程调度的调度队列模型 图 3 - 1 仅具有进程调度的调度队列模型 就 绪 队 列 阻 塞 队 列 进程调度 CPU 进程完成 等待事件 交互用户 事 件 出 现 时间片完
第三章处理机调度与死锁 2.具有高级和低级调度的调度队列模型 作业 时间片完 调度 进程调度 进程完成 后备队列 列 CPU 等待事件 事件1出现 等待事件2 事件2出现 等待事伟 事件n出现 图3-2具有高、低两级调度的调度队列模型
第三章 处理机调度与死锁 2. 具有高级和低级调度的调度队列模型 图 3-2 具有高、低两级调度的调度队列模型 就 绪 队 列 进程调度 CPU 进程完成 等待事件1 作 业 调 度 事 件1出 现 时间片完 等待事件2 事 件2出 现 … … 等待事件n 事 件n出 现 后 备 队 列 … …
第三章处理机调度与死锁 图3-2示出了具有高、低两级调度的调度队列模型 该模型与上一模型的主要区别在于如下两个方面 (1)就绪队列的形式。 (2)设置多个阻塞队列
第三章 处理机调度与死锁 (1) 就绪队列的形式。 (2) 设置多个阻塞队列。 图 3-2 示出了具有高、低两级调度的调度队列模型。 该模型与上一模型的主要区别在于如下两个方面
第三章处理机调度与死锁 3.同时具有三级调度的调度队列模型 作业调度 时间片完 批量作必、备队列 就绪队列 进程调度 进程完成 CPU 交互型作业」中级调度 就绪,挂起队列 事件出现 阻塞,挂起队列 事件出现 挂起 阻塞队列 等待事件 图3-3具有三级调度时的调度队列模型
第三章 处理机调度与死锁 3. 同时具有三级调度的调度队列模型 图 3-3 具有三级调度时的调度队列模型 就绪队列 进程调度 CPU 就绪,挂起队列 中级调度 阻塞,挂起队列 阻塞队列 等待事件 进程完成 作业调度 时间片完 交互型作业 后备队列 批量作业 挂 起 事件出现 事 件 出 现
第三章处理机调度与死锁 313选择调度方式和调度算法的若干准则 1.面向用户的准则 (1)周转时间短。 可把平均周转时间描述为:T ∑ 作业的周转时间T与系统为它提供服务的时间T之比,即 WTTs,称为带权周转时间,而平均带权周转时间则可表 示为
第三章 处理机调度与死锁 3.1.3 选择调度方式和调度算法的若干准则 1. 面向用户的准则 (1) 周转时间短。 可把平均周转时间描述为: = = i i Ti n T 1 1 = = n i Si i T T n W 1 1 作业的周转时间T与系统为它提供服务的时间TS之比,即 W=T/TS,称为带权周转时间,而平均带权周转时间则可表 示为: