太原理工大学操作系统-第三章处理机调度与死锁分析
计算机操作系统 第三章 处理机调度与死锁

3.2.1 短作业(进程)优先算法
这是对FCFS算法的改进,其目标是减少平均 周转时间。
SJF:从后备队列中选择估计运行时间最短的 一个或几个作业调入内存。 SPF:从就绪队列中选择一个估计运行时间最 短的进程,将处理机分配给它。
短进程优先法调度方式
短进程优先算法既可以是非抢占式,也可以是抢 占式。
不同类型及目标的操作系统,其采用的调度方 式与调度算法通常不同。 1.面向用户的准则 2.面向系统的准则
1.面向用户的准则
(1)周转时间短 周转时间:作业提交计算机开始到完成返回用 户为止的时间间隔。 (2)响应时间快
响应时间:从提交一个请求到首次产生响应的 时间间隔。或者说,用户发送指令给计算机到计 算机返回结果给用户的时间间隔。
作业相关概念
作业:程序+数据+作业说明书 作业步:相对独立相互关联的顺序加工步骤 作业流 作业控制块JCB:作业在系统中的标识,保存有系 统对作业进行管理与调试所需要的全部信息
作业标识 用户名称、用户帐户 作业类型、作业状态 资源需求 调度信息 进入时间、开始处理时间、需求时间 ……
作业调度时要做的决定: (1)接纳多少个作业 (2)接纳哪些作业(调度算法) 作业调度的目标: (1)对所有作业尽量做到公平合理 (2)高设备利用率 (3)执行尽可能多的作业 (4)尽量短的响应时间
1.面向用户的准则
(3)截止时间的保证 评价实时系统的重要指标。
截止时间:任务必须开始执行的最迟时间,或必 须完成的最迟时间。 (4)优先权准则:关键任务得到更好的性能指 标
(5)公平性:确保每个用户每个进程获得合理 的CPU份额或其他资源份额。
2.面向系统的准则
(1)系统吞吐量高 吞吐量:单位时间内系统完成的作业数。 (2)处理机利用率高:大中型系统的主要指 标
第三章 处理机调度与死锁

第三章 处理机调度与死锁
3. 分时系统的目标 (1) 响应时间快
响应时间指用户提交请求到系统首次响应为止的时 间。
(2) 均衡性。 系统响应时间的快慢应与用户所请求的复杂性相适
应。
9
第三章 处理机调度与死锁
4. 实时系统的目标 (1) 截止时间的保证。 (2) 可预测性。
10
第三章 处理机调度与死锁
第三章 处理机调度与死锁
第三章 处理机调度与死锁
3.1 处理机调度的层次和调度算法的目标 3.2 作业与作业调度 3.3 进程调度 3.4 实时调度 3.5 死锁概述 3.6 预防死锁 3.7 避免死锁 3.8 死锁的检测与解除 习题
1
第三章 处理机调度与死锁
3.1 处理机调度的层次和调度算法的目标
为了提高系统效率,应当让管理输入输出的I/O进程与计算 进程搭配起来,并给予I/O进程较高的优先级。这样,一旦 I/O进程被唤醒就可很快得到运行,启动低速外设,而后再 被阻塞起来让计算进程使用CPU,使主机和外设高度并行 运行。
24
第三章 处理机调度与死锁
2. 高响应比优先调度算法(Highest Response Ratio Next,HRRN)
16
第三章 处理机调度与死锁 17
第三章 处理机调度与死锁
FCFS算法的优缺点 • 比较有利于长作业(进程),而不利于短作业(进
程)。 上图中短作业C的带权周转时间高达100,不能容忍。 而D仅为1.99。 • FCFS算法有利于CPU繁忙型作业(该类型的作业需 要大量CPU时间进行计算,很少I/O。)不利于I/O繁 忙型作业(频繁的请求I/O服务的作业)
5
第三章 处理机调度与死锁
2. 批处理系统的目标 (1) 平均周转时间短。 对每个用户而言,都希望自己作业的周转时间最短。但 作为计算机系统的管理者,则总是希望能使平均周转时间最 短,这不仅会有效地提高系统资源的利用率,而且还可使大 多数用户都感到满意。应使作业周转时间和作业的平均周转 时间尽可能短。否则,会使许多用户的等待时间过长,这将 会引起用户特别是短作业用户的不满。可把平均周转时间描 述为:
操作系统第三章处理机调度与死锁

Event
Event Queue
32
Exit
Start
Ready Queue Time Slice CPU
Event
Event Queue
33
Exit
Start
Ready Queue Time Slice CPU
Event
Event Queue
34
3.2.2 短作业优先
(SJF, Shortest Job First)
2
主要内容
处理机调度的基本概念
调度算法
实时调度
多处理机系统中的调度
产生死锁的原因和必要条件
预防死锁的方法
死锁的检测与解除
3
3.1
处理机调度的基本概念
3.1.1 高级、中级和低级调度
处理机( CPU )在进程之间的动态分配和切换,
涉及到三种类型(或者说三个层次)的调度,
即高级调度(也叫作业调度、长程调度)、中
执行 时间 1 100 1 100
开始执 行时间 0 1 101 102
完成时 周转时 带权周 间 间 转时间 1 101 102 202 1 100 100 199 1 1 100 1.9919
CPU Scheduler Example
Process 1 burst computes for 14 time units Process 2 burst computes for 8 time units Process 3 burst computes for 8 time units
Hale Waihona Puke I/OChild Terminates
操作系统调度和死锁理论题答案及解析

第三章处理机调度与死锁1.高级调度与低级调度的主要任务是什么? 为什么要引入中级调度?(1)高级调度又称为作业调度。
它是批处理系统中使用的一种调度。
其主要任务是按照某种算法从外存的后备队列上选择一个或多个作业调入内存,并为其创建进程、分配必要的资源,然后再将所创建的进程控制块插入就绪队列中。
(2)低级调度又称进程调度。
它是距离硬件最近的一级调度。
其主要任务是按照某种算法从就绪队列上选择一个(或多个)进程,使其获得CPU。
(3)引入中级调度的目的是为了提高内存利用率和系统吞吐量。
其功能是,让那些暂时不能运行的进程不再占用宝贵的内存资源,而是调其到外存上等候。
此时的进程状态为挂起状态。
当这些进程重新具备运行条件且内存空闲时,由中级调度选择一部分挂起状态的进程调入内存并将其状态变为就绪状态。
2. 处理机调度算法的共同目标是什么? 批处理系统的调度目标又是什么?共同目标:资源利用率,公平性,平衡性,策略强制执行。
批处理系统的调度目标:平均周转时间短,系统吞吐量高,处理机利用率高。
6.为什么要引入高响应比优先调度算法?它有何优点?在批处理系统中,FCFS算法所考虑的只是作业的等待时间,而忽视了作业的运行时间。
而SJF算法正好与之相反,只考虑作业的运行时间,而忽视了作业的等待时间。
高响应比优先调度算法则是既考虑了作业的等待时间,又考虑作业运行时间的调度算法,因此既照顾了短作业,又不致使长作业的等待时间过长,从而改善了处理机调度的性能。
7.试说明低级调度的主要功能。
保存处理机的现场信息、按某种算法选取进程、把处理机分配给进程。
12.试比较FCFS和SJF两种进程调度算法。
相同点:两种调度算法都可用于作业调度与进程调度不同点:FCFS调度算法每次都从后备队列中选择一个或多个最先进入该队列的作业,将它们调入内存、分配资源、创建进程、插入到就绪队列。
该算法有利于长作业/进程,不利于短作业/进程。
SJF算法每次调度都从后备队列中选择一个或若干个运行时间最短的作业,调入内存中运行。
第三章 处理机的调度和死锁

3.1 处理机调度的层次
2、低级调度(即进程调度,短程调度) 调度对象是进程或内核级线程,是最基本的调度。 功能:将处理机分派给就绪队列中的进程。 具体步骤: ٭保存现场、依据调度算法调入进程、分配处理机给进程。 调度方式: ٭1.非抢占方式: 进程获得处理机后独占。简单、系统开销小、实时性差。 ٭2.抢占方式 可防止一个进程长时间的占用处理机。抢占原则: (1)时间片原则 (2)优先权原则 (3)短作业优先原则。 处理机调度与死锁
处理机调度与死锁
例 FCFS算法
进程名 到达时 服务时 开始执 完成时 周转时 带权周 间 间 行时间 间 间 转时间 A B C D 0 1 2 3 1 100 1 100 0 1 101 102 1 101 102 202 1 100 100 199 1 1 100 1.99
理解:周转时间、带权周转时间
p1
R1
设备共享引起的死锁
R2 p2
处理机调度与死锁
3.5产生死锁的原因和必要条件
2、进程推进顺序不当引起死锁 P2Rel(R1) P2Rel(R2) P2Req(R1) P2Req(R2) 4 D 3 1 2
阶段小结2:调度算法 【补充计算题,选作】 有5个批处理作业(ABCDE),按照先后顺序达到一 个计算中心,忽略先后到达的时差。估计运行时间 分别为2、4、6、8、10分钟,它们的优先数分别为 1、2、3、4、5(优先数越大,优先级越高)。对 下面的各种调度算法,分别计算作业的平均调度周 转时间(参照教材P92的列表计算) (1)先来先服务 (2)短作业优先 (3)优先级调度算法 (4)时间片轮转(设时间片为2分钟)
处理机调度与死锁
3.3.3基于时间片的轮转调度算法
第3章-处理机调度与死锁

S3 就绪队列 3
就绪队列 n
(时 间片 : S1<S2<S3)
20
第三章 调度与死锁
最短剩余时间
21
第三章 调度与死锁
3.3.2 高优先权优先调度算法
适合于作业调 度和进程调度
1. 优先权调度算法旳类型 1)非抢占式优先权算法(用于批处理、要求不严旳实时)
系统一旦把处理机分配给就绪队列中优先权最高旳进 程后,该进程便一直执行下去,直至完毕;或因发生某事 件使该进程放弃处理机时,系统方可再将处理机重新分配 给另一优先权最高旳进程。
1 1.17
2.25
18 12 2.4
20 12 6
8. 60 2.56
• 完 周转 带权周转 毕 时间 时间
3时 3
1
9间 7
1.17
15 11 2.75
20 14 2.8
11 3
1.5
7.60 1.84
例1 FCFS和SJF调度算法旳性能比 较
第三章 调度与死锁
例2. FCFS和SJF调度算法旳性能比较
31
第三章 调度与死锁
(2) 时间片大小旳拟定
退化成
• 时间片太大
FCFS算法
• 时间片过小切换开销大。
时间片大小拟定要考虑旳原因: (1) 系统对响应时间旳要求。(顾客数一定时,成正比)
(2)就绪队列中旳进程数目。(确保响应时间,成反比)
(3)系统旳处理能力。(确保顾客键入旳命令能在一种时 间片内处理完毕)
优点:简朴、系统开销小,合用于大多数批处理系统环境。 缺陷:难以满足紧急任务旳要求——立即执行,在要求比较 严格旳实时系统中,不宜采用这种调度方式。
3
第三章 调度与死锁
第3章 处理机调度与死锁(part4)

第三章 处理机调度与死锁
进入不安全状态后,便可能进入死锁状态;反之,只要处于 1. 安全状态 安全状态就不会死锁。
在避免死锁的方法中,允许进程动态地申请资源,但系统在进行资 避免死锁的实质是:系统在进行资源分配时,设法使系统不 源分配之前,应先计算此次资源分配的安全性。若此次分配不会导致系 统进入不安全状态,则将资源分配给进程; 否则,令进程等待。 进入不安全状态。
P1 S3 S1
P3 S2
P2
图 3-13 进程之间通信时的死锁
3.5.1 产生死锁的原因
1. 竞争资源引起进程死锁 2. 进程推进顺序不当引起死锁
第三章 处理机调度与死锁
•
由于进程在运行中具有异步性特征,这就可 能使上述P1和P2两个进程按下述两种顺序向 前推进。
进程推进顺序合法 进程推进顺序非法
第三章 处理机调度与死锁 3.5.1 产生死锁的原因 1. 竞争资源引起进程死锁
竞争非剥夺性资源引起死锁
竞争临时性资源引起死锁
打印机之类的资源属于可顺序重复使用型资源,称为永久性资源。与之 相对的是临时性资源,是指由一个进程产生,被另一进程使用一短暂时间 后便无用的资源,也称为消耗性资源,它也可能引起死锁。
12
第三章 处理机调度与死锁
3.5.3 处理死锁的基本方法
1.预防死锁 这是一种较简单和直观的事先预防方法。该方法是通过设置某 些限制条件,去破坏产生死锁的四个必要条件的一个或几个, 来预防发生死锁。预防死锁是一种较易实现的方法,已被广泛 使用。但由于所施加的限制条件往往太严格。可能会导致系统 资源利用率和系统吞吐量降低。
便进入不安全状态。 因为,此时也无法再找到一个安全序
列, 例如,把其余的2台分配给P2,这样,在P2完成后只能 释放出4台,既不能满足P1 尚需5台的要求,也不能满足P3 尚需6台的要求,致使它们都无法推进到完成,彼此都在等 待对方释放资源,即陷入僵局,结果导致死锁。
第3章处理机调度与死锁解析

进程调度采用两种方式: ①非抢占方式: • 一旦分配处理机,进程就一直执行,直至完成或
发生某事件而被阻塞,不允许其它进程抢占处理 机。
• 优点:简单、系统开销小,适合大多数批处理系统 • 缺点:无法满足紧急任务的需要,不适合实时系统
②抢占方式: • 允许调度程序根据某原则,暂停正在执行的进 程,将处理机重新分配。 • 抢占原则:优先权原则 、短作业(进程)优先原 则、时间片原则
包括四部分:
等待作业调度时间(高级调度) 等待进程调度时间(低级调度) 执行时间 进程等待I/O操作完成时间
平均周转时间: t
1 n
n
ti
i 1
ti = tci-tsi
ti: 作业周转时间,tci:作业完成时间,tsi: 作业提 交(到达)时间
带权周转时间:
wi
ti tr
tr: 作业实际运行时间
先来先服务 短作业(进程)优先 高优先权先调度 时间片轮转 多级反馈队列
1、 先来先服务(FCFS)
可用于作业调度和进程调度
进程 到达 服务 开始执 完成 周转 带权周 名 时间 时间 行时间 时间 时间 转时间
A0 1
0
11
1
B 1 100 1 101 100 1
C 2 1 101 102 100 100
3、中级调度(中程调度)
目的:为了缓解内存紧张问题,将那些暂时不能 运行的进程调到外存上去等待。
当进程运行条件具备、且内存又空闲时,中级调 度程序决定将外存上的哪些进程重新调入内存。
进程状态:Ready <->Ready suspend, Blocked <->Blocked suspend
第三章 处理机调度与死锁
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
统 都要经历4个状态:提交、后备(收容)、执行和完成。
1)提交状态:通过终端设备向计算机的磁盘输入作业信息 时所处的状态。
第 2)后备状态:作业的全部信息已输入到磁盘的一个专用区
三 (输入井)中等待作业调度时所处的状态。
章
处 3)执行状态:在后备作业队列中的作业一旦被作业调度程
理 序选中,为它分配了必要的资源,并且建立了进程, 开始处
死
锁
6
操
作 系
二、调度队列模型
统
1. 仅有进程调度的调度队列模型
时间片完
第 交互用户
三
章
事
处
件
理
出
机
现
调
度
与
死
锁
就绪 队列 阻塞队列
进程调度
进程完成 CP U
等待事件
仅具有进程调度的调度队列模型
7
操
作 2. 具有高级和低级调度的调度队列模型
系
统
作业
时间 片完
调度
后备队列
就绪 队 列
进程 调度
进程 完成 CP U
锁 不宜采用这种调度方式。
4
操
作 系
2)抢占式调度方式
统
当重要或紧迫的进程一到,便把正在执行的进程占
有的处理机强行剥夺下来,并转给这个优先级比它更高
的重要或紧迫的就绪进程,使其运行。
第
三 章
抢占的原则:
处
(1) 优先权原则
理 机
(2) 短作业(进程)优先原则
调 度
(3) 时间片原则
与
死
锁
5
操
作 系
第 行的进程继续执行,直到该进程完成任务终止运行或发生某
三 种等待事件而进入阻塞状态时,才主动放弃占有的处理机, 章 把处理机分配给重要或紧迫的就绪进程,以使其运行。
处 理
优点:实现简单、系统开销小。
机 调
适用于大多数的批处理系统环境。
度 缺点:难以满足紧急任务的要求——立即执行,因而可能造
与 死
成难以预料的后果。显然,在要求比较严格的实时系统中,
章
处 (1) 处理机分配的策略,即需要确定处理机的调度算法;
理 机
(2) 什么时候分配处理机,即需要确定处理机的调度时机;
调 度
(3) 如何分配处理机,即需要给出处理机的调度过程。
与
死
锁
2
操 作
一、处理机的分级调度:
系 统
1、作业调度(高级调度):
按一定原则选择若干个后备作业调入主存,分配资源
,并建立相应的进程,投入运行。当该作业执行完毕时
理
机 (2) 处理机利用率好。
调
度 (3) 各类资源的平衡利用。
与 死 锁
10
操 作
§3.2 作业调度
系
统 一、作业的组织
程序 作业由三部分组成 数据
作业说明书 (说明用户的控制意图)
第 三 章
处 理 机 调 度 与 死 锁
11
操 二、作业控制块
作
系 作业控制块(JCB):为了管理和调度已进入系统的各个作 统 业,系统设置的用于记录作业的基本情况的数据结构。
,还负责回收资源。
第
三 章
在每次执行作业调度时,都须做出以下两个决定。
处
1) 接纳多少个作业
理
2) 接纳哪些作业
机
调
度
与
死
锁
3
操 2、进程调度(低级调度): (线程调度)
作 系
按照某种策略从进程就绪队列中选择一个就绪进程,使其
统 占有处理机运行。
进程调度方式:
1)非抢占式调度方式
当有重要或紧迫的进程进入就绪队列时,仍然让正在执
操
作 系
第三章 处理机调度与死锁
统
3.1 处理机调度的基本概念
第 三
3.2 作业调度
章
处
3.3 进程调度
理
机
3.4 死锁
调
度
与
死
锁
1
操
作 系
3.1 处理机调度的基本概念
统
处理机资源是计算机系统中最重要的资源,它的调度策
略,常常表示操作系统的某种特征,其算法的优劣直接影
响整个系统的性能。
第
三 处理机调度需要解决三个问题:
3)交换调度(中级调度)(均衡调度):
统
按照给定的原则实现进程在主存和外存交换区之间的换
进换出,以解决内存紧张问题,特别是具有虚拟存储器的
系统中。
第
三
章
引入中级调度的主要目的:
处
是为了提高内存利用率和系统吞吐量。 为此,应使那些
理
机 暂时不能运行的进程不再占用宝贵的内存资源,而将它们
调
度 与
调至外存上去等待。
作业控制块(JCB)的主要内容:
(1)作业的基本情况
第
用户名、作业名、作业的状态和使用的语言等。
三
章 (2)作业的控制要求
处
控制方式、类型、优先数、操作顺序和出错处理等。
理 机
(3)作业的资源要求
调 度
作业建立的时间、要求运行的时间、最迟完成的时间、和资源使用情况。
处 理 机 调 度
事
件 出
挂起
现
阻塞队列
等待事件
与
死
锁
具有三级调度时的调度队列模型
进程完成
9
操 三、 选择调度方式和调度算法的若干准则
作 系
1. 面向用户的准则
统 (1) 作业周转时间短。
(2) 响应时间快。
(3) 截止时间的保证。
第
(4) 优先权准则。
三
章 2.面向系统的准则
处 (1) 系统吞吐量高。
锁
15
操 五、作业调度的功能
作 系
作业调度的主要任务:完成作业从后备状态到运行状态和
统 从运行状态到完成状态的转变。
作业调度程序应包括以下功能:
1)记录系统中各作业的状况。
作业调度程序为了挑选一个作业投入运行,并且在运行
第 三
中对它实施管理,它必须掌握该作业进入系统时的有关情
章 况并随时记录该作业在各运行阶段的变化。为此,系统为
处 每一个已进入系统的作业分配一个作业控制块JCB(Job
理 机
Contrl block)。每个作业的JCB在该作业进入后备状态时
调 度
死
锁
12
作业控制块
操
作
作业名
系 统
估计执行时间
最迟完成时间
资源要求
要求的主存量
要求外设的类型及台数
要求文件量和输出量
第
进入系统时间
三
开始执行时间
章
资源使用情况
已执行时间
处 理
主存地址
联机和脱机
机
外设台号
调 度 与
类型
控制方式 作业类型
死 锁
优先级
状态
13
操 三、作业的状态
作 系
一个作业从提交给计算机系统到执行结束退出系统,一般
机 调
理时所处的状态。
度
与 4)完成状态:作业完成其全部任务后,进程撤消, 做善后处
死 锁
理时的作业状态称为完成状态。
14
四、作业状态的转换
操
作 系
内存
统
进程调度
线程调度
运 行
提 交 第
后 备
执就 行执 绪
等 待
完 成
三
行
章
作业调度
作业输入 作业调度
交换调度
处 理
外存
机 调 度
就 绪
等 待
与
死
作业的状态及其转换
第
事件1出现
三
等待 事件1
章
处
事件2出现
等待 事件2
… … … …
理
机
调
等待 事件n
度
事件n出现
与
死 锁
具有高、低两级调度的调度队列模型
8
操 作 系
3. 同时具有三级调度的调度队列模型
作业调度
时间片完
统
后备队列 批量作业
就绪队列
进程调度 CP U
交互型作业
中级调度 就绪,挂起队列
第
事件出现
三
章
阻塞,挂起队列