第3章处理机调度与死锁1-2-PPT课件

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
引起调度的原因:1)当前进程运行结束或发生某事件而终止;2) 当前进程因提出I/O请求而阻塞;3)进程之间通信或同步而由于 执行原语而等待。

淮海工学院计算机科学系

抢占方式(Preemptive):抢占方式允许调度程序根据某种策略 中止当前进程的执行,将其移入就绪队列,并将处理机分派给另 一个进程使之投入运行。 抢占原则:1)优先权原则:允许高优先权进程抢占低优先权的 CPU;2)短作业原则:允许短进程抢占长进程的处理机;3)时 间片原则:分时系统中的当前进程,若时间片规定的时间用完, 不管是否运行结束,都要立即中止放到就绪队列中,再将CPU分 派给其它进程。
第三章 处理机调度与死锁
3.1 处理机调度的基本概念 3.2 调度算法
3.3 实时调度
3.4 多处理机系统中的调度 3.5 产生死锁的原因和必要条件 3.6 预防死锁的方法 3.7 死锁的检测与解除
淮海工学院计算机科学系
3.1 处理机调度的基本概念
作业的状态及其转换 ① 批处理系统才有作业的概念,分时系统没有作业的概念; ② 作业的状态分为:提交、后备、运行和完成; ③ 提交状态:作业再输入设备上并准备进入外存输入井前的状态。用户 作业通常包括:程序、数据和作业说明书 ④ 后备状态:由SPOOLing输入程序输入到外存输入井中,为其建立作 业控制块(JCB),并将JCB插入到后备作业队列中的状态 ⑤ 运行状态:作业被作业调度程序选中,由外存输入井调入到内存,为 其分配了所需的资源并建立了进程,此时作业就进入到运行状态。 ⑥ 完成状态:当作业正常结束或异常终止时,就进入完成状态。由作业 调度程序做收尾工作:撤销JCB、回收分给该作业的系统资源等。
淮海工学院计算机科学系
作业的状态及其转换
作业调度程序
SPOOLing 程序
运行 进程调度 程序
内存
提交 输入设 备
后备 外存输 入井
就绪
阻塞
完成
就绪
中级调度 外存
阻塞
淮海工学院计算机科学系
3.1.1 处理机调度的层次
在多道批处理系统中,一个作业从提交到后备作业队列,再调入内从 经运行到完成,可能需要经历三级调度: 1. 高级调度(High Scheduling) 高级调度又称为作业调度或宏观调度或长程调度,其主要功能 是根据一定的算法,从后备作业队列(一批作业)中选出若干个 作业调入内存,并为它们创建进程和分配必要的资源,然后将创 建的新进程放入进程就绪队列中,使其处于就绪状态。当作业运 行结束时,还要做一些善后工作(资源回收)
作业 调度 后 备 队 列
时间片完
进程调度 进程完成
就 绪 队 列
CPU
进程调度 常以最高 事件 1出现 优先权优 先调度算 法,就绪 队列形式 事件 2出现 为优先权 队列。
事件 n 出现 …
等待事件 1
等待事件 2 … … … 等待事件 n
阻塞队列按照不同事件排队
淮海工学院计算机科学系
3. 同时具有三级调度的调度队列模型
程间的切换。
进程调度是操作系统中最基本的一种调度,在一般操作系统(包 括:多道批处理系统、分时系统和实时系统)中都必须有进程调 度,而且它的策略的优劣直接影响整个系统的性能。
淮海工学院计算机科学系
4、进程调度方式

非抢占方式(Nonpreemptive):在这种调度方式下,一旦一个 进程被选中运行,它就一直运行下去,直到它运行结束并自愿放 弃CPU,或者因等待某一事件而被阻塞或终止时为止,才把CPU 出让给其他进程,即得到CPU的进程不管运行多长时间,都一直 运行下去,不会因为当前进程以外的原因而被迫让出CPU。
时间片到 作业调度 就绪队列 作业 交互式用户
进程调度
进程完成 CP
调入 就绪挂起队列
U
挂起调出 事件出现
阻塞挂起队列
中级调度
挂起调出 阻塞队列 等待事件
事件出现
具有三级调度时的调度队列模型
淮海工学院计算机科学系
3.1.3 选择调度方式和调度算法的若干准则 1. 面向用户的准则
① 周转时间短:周转周期是指作业从提交给系统开始,到作业完 成为止所消耗的时间。常用于衡量系统性能、作业调度算法的 优劣的重要指标。
适的进程重新换入内存,等待进程调度。
引入中级调度的主要目的是为了提高内存的利用率和系统吞吐量。
淮海工学院计算机科学系
3.低级调度(Low Level Scheduling)
低级调度又称进程调度或微观调度或短程调度,其主要功能是根
据一定的算法,将CPU分派给就绪进程队列中的某一进程。 执行低级调度功能的程序称为进程调度程序,由它实现CPU在进

淮海工学院计算机科学系、中级和低级调度的选取形成了不同的调度队列模
型,共有3种类型。
1、仅有进程调度的调度队列模型 常在分时系统中设置仅有进程调度的调度队列模型。终端用户的
登录注册以及交互命令的输入执行,系统都将为其建立进程,并
放在FIFO就绪队列中,按照时间片轮转调度执行。进程的调度和 变化过程如下图所示。
淮海工学院计算机科学系
高级调度特点:
1)多道批处理系统需要作业调度;分时系统和实时系统一般不需要 高级调度。
2)每次调度多少作业(程序)?需由系统规定的多道程序度而定;
3)调度那些作业?由调度算法(策略)而定,如先来先服务,短作 业优先调度,优先权调度算法等。
淮海工学院计算机科学系
2. 中级调度(Intermediate-Level Scheduling)
中级调度又称之为中程调度(Medium-Term Scheduling),中级 调度主要任务是实施进程在内、外存间的交换;
中级调度的主要功能是在内存使用紧张时,将一些暂时不能运行
的进程从内存对换到外存上等待(此时的进程状态称为挂起状态 或驻留外存状态)。以后,当外存有足够的空闲空间时,再将合
淮海工学院计算机科学系
时 间 片 完 进 程 调 度
P1
交 互 用 户 事 件 出 现
P4
就绪队列 P2
C P U
进 程 完 成
阻塞队列
等 待 事 件
图3-1 仅具有进程调度的调度队列模型
淮海工学院计算机科学系
2. 具有高级和低级调度的调度队列模型
在批处理系统中,不仅需要进程调度,而且还需要作业调度。若OS中仅 包含高级调度和低级调度就形成了具有高级和低级调度的队列模型。
相关文档
最新文档