第3章处理机调度与死锁解析
第3章 调度与死锁

• 2.短作业(进程)优先调度算法(Shortest Job/Process First,SJF/SPF) –(1) 算法描述 • 对预计执行时间短的作业(进程)优 先分派处理机。通常后来的短作业不 抢先正在执行的作业。 • 是对FCFS算法的改进,其目标是减少 平均周转时间。
• (2) SJF的特点 –优点: • 比FCFS改善平均周转时间和平均带权周转 时间,缩短作业的等待时间; • 提高系统的吞吐量; – 缺点: • 对长作业非常不利,可能长时间得不到执 行; • 未能依据作业的紧迫程度来划分执行的优 先级; • 难以准确估计作业(进程)的执行时间, 从而影响调度性能。
进程
P1 P2 P3 P4
P1 0 2 P2 4
到达时间
0.0 2.0 4.0 5.0
执行时间
7 4 1 4
• 最短剩余时间优先(抢先式SJF)
P3 5 P2 7 P4 11 P1 16
• 平均等待时间 = (9 + 1 + 0 +2)/4 = 3 • 平均周转时间=(16+5+1+6)/4=7
3.2.2 优先权调度算法(Priority Scheduling)
10.00 10.10 2 1
10.25 0.25
作 业 1 2 3
提交 运行 开始 完成时 周转 带权周转 时间 时间 时间 间 时间 时间 10.00 10.10 2 1 10 12 12.00 13.00 13.25 2 2.9 3 2/2 2.9/1 3/0.25
10.25 0.25 13
截止时间
• 实时系统的重要指标。 • 开始截止时间和完成截止时间 • 某任务必须开始执行的最迟时间,或必 须完成的最迟时间。
优先权原则
第三章处理机调度及答案

进程管理
进程管理
【解答】 ①系统资源总数向量为(9, 3, 6) 各进程对资源需求矩阵为: ②采用银行家算法进行计算分析可知:
进程管理
2、调度算法
现有如下作业序列:作业1(提交时间8.00,运行时间 1.00);作业2(提交时间8.30,运行时间3.00);作 业3(提交时间9.00,运行时间0.10);作业4(提交 时间9.30,运行时间0.50)(单位:小时,以十进制 计)。 试用先来先服务和短作业优先调度算法处 理该作业序列,问哪种作业调度算法性能更好(要求给 出计算的数据和必要的步骤)。(华中科技大学2001年 试题)
处理机调度作业
进程管理
1、银行家算法
某系统有R1、R2和R3共3种资源,在T0时刻P1、P2、P3 和P4这4个进程对资源的占用和需求情况见表2.2,此刻 系统的可用资源向量为(2, 1, 2),问题:(中科院软 件所1999年试题) ①将系统中各种资源总数和此刻各进程对各资源的需求 数目用向量或矩阵表示出来;②如果此时P1和P2均发出 资源请求向量Request(1, 0, 1),为了保持系统安全 性,应该如何分配资源给这两个进程?说明你所采用策 略的原因;③如果②中两个请求立刻得到满足后,系统 此刻是否处于死锁0
40
50
60
70
80
90
J1: IO2(30ms), CPU(10ms), IO1(30ms), CPU(10ms). J2: IO1(20ms), CPU(20ms), IO2(40ms). J3: CPU(30ms), IO1(20ms).
进程管理
【解答】 (1) 由上图可知:J1从开始到完成的时间是0~ 80msJ2从开始到完成的时间是0~90msJ3从开始到 完成的时间是0~90ms (2) 三个作业全部完成时CPU的利用率是:
计算机操作系统 第四版 汤小丹 梁红兵 哲凤屏_第3章(20162017)

3.3.1 进程调度的任务、机制和方式
2. 进程调度机制
(2) 分派器。从就绪队列中取出由进程调度程序所选定的进 程,然后进行从分派器到新选出进程间的上下文切换,将 处理机分配给该进程。 (3) 上下文切换机制。两对上下文切换:①操作系统将保 存当前进程的上下文,而装入分派程序的上下文,以便分 派程序运行;②移出分派程序的上下文,而把新选进程的 CPU现场信息装入到处理机的各个相应寄存器中。
3.2.4 优先级调度算法和高响应比优先调度算法
1. 优先级调度算法(priority-scheduling algorithm, PSA)
PSA基于作业的紧迫程度,由外部赋予作业相应 的优先级,调度算法根据该优先级进行调度。PSA 可作为作业调度算法,也可作为进程调度算法。
3.2.4 优先级调度算法和高响应比优先调度算法 2. 高响应比优先调度算法(Higher Response Ratio Next, HRRN)
功能是根据算法,决定就绪队列中的哪个进程应获得 处理机,并由分派程序将处理机分配给被选中的进程。
3. 中级调度(Intermediate Scheduling) 又称内存调度。主要目的是为了提高内存利用率和系 统吞吐量。将那些暂时不能运行的进程调至外存上去等 待,称为就绪驻外存状态或挂起状态;把外存上的又具 备运行条件的就绪进程,重新调入内存,并修改其状态 为就绪状态,挂在就绪队列上等待进程调度。
3.1.2 处理机调度算法的目标
4. 实时系统的目标 (1) 截止时间的保证
截止时间:某任务必须开始执行的最迟时间,或必须 完成的最迟时间。调度算法必须保证实时任务对截止时 间的要求。
(2) 可预测性
3.2 作业和作业调度
3.2.1 批处理系统中的作业
2013 第三章 处理机调度课堂讨论-习题解析

第三章 处理机调度与死锁(2)
下面不属于作业调度算法评估标准的是( )
A.CPU利用率 C.吞吐量 B.内存利用率 D.周转时间
有5个待运行作业J1~J5,各自预计运行的 时间分别是9,6,3,5和7。假定这些作 业同时到达,并且在一台处理机上按单道 方式执行。讨论采用哪种调度算法和哪种 运行次序将使平均周转时间最短,平均周 转时间为多少。
第三章 处理机调度与死锁
课堂论
第三章 处理机调度与死锁
调度及调度层次 选择调度算法的准则 调度算法:FCFS、SJF、优先权、RR 死锁:
概念 产生死锁的原因 产生死锁的必要条件 死锁的处理方法:避免、预防、检测和解除 银行家算法
第三章 处理机调度与死锁(1)
设有4个作业同时到达,每个作业的执行时间 均为2小时,它们在一台处理机上按单道式运 行,则平均周转时间为( ) 设有3个作业J1、J2、J3,其运行时间分别为 2小时、5小时、3小时,假定它们同时到达, 并在同一台处理机上以单道方式运行,则平 均周转时间最小的执行顺序是( )
处理器调度采用可抢占式的优先级算法,忽略其它 辅助操作时间,回答下列问题:
分别计算作业J1~J3从开始到完成所用的时间 3个作业全部完成时CPU的利用率 3个作业全部完成时外设IO1的利用率
第三章 处理机调度与死锁(6)
已分配的资源 最大需求量 剩余资源 A B C A B C A B C P1 0 1 0 7 5 3 3 3 2 P2 2 0 0 3 2 2 P3 3 0 2 9 0 2 P4 2 1 1 2 2 2 P5 0 0 2 4 3 3 问:1)此状态是否为安全状态,是则找出安全序列 2)在此基础上
计算机操作系统(第四版)课后习题答案第三章

第三章处理机调度与死锁1,高级调度与低级调度的主要任务是什么?为什么要引入中级调度?【解】(1)高级调度主要任务是用于决定把外存上处于后备队列中的那些作业调入内存,并为它们创建进程,分配必要的资源,然后再将新创建的进程排在就绪队列上,准备执行。
(2)低级调度主要任务是决定就绪队列中的哪个进程将获得处理机,然后由分派程序执行把处理机分配给该进程的操作。
(3)引入中级调度的主要目的是为了提高内存的利用率和系统吞吐量。
为此,应使那些暂时不能运行的进程不再占用宝贵的内存空间,而将它们调至外存上去等待,称此时的进程状态为就绪驻外存状态或挂起状态。
当这些进程重又具备运行条件,且内存又稍有空闲时,由中级调度决定,将外存上的那些重又具备运行条件的就绪进程重新调入内存,并修改其状态为就绪状态,挂在就绪队列上,等待进程调度。
3、何谓作业、作业步和作业流?【解】作业包含通常的程序和数据,还配有作业说明书。
系统根据该说明书对程序的运行进行控制。
批处理系统中是以作业为基本单位从外存调入内存。
作业步是指每个作业运行期间都必须经过若干个相对独立相互关联的顺序加工的步骤。
作业流是指若干个作业进入系统后依次存放在外存上形成的输入作业流;在操作系统的控制下,逐个作业进程处理,于是形成了处理作业流。
4、在什么情冴下需要使用作业控制块J CB?其中包含了哪些内容?【解】每当作业进入系统时,系统便为每个作业建立一个作业控制块JCB,根据作业类型将它插入到相应的后备队列中。
JCB 包含的内容通常有:1) 作业标识2)用户名称3)用户账户4)作业类型(CPU繁忙型、I/O芳名型、批量型、终端型)5)作业状态6)调度信息(优先级、作业已运行)7)资源要求8)进入系统时间9) 开始处理时间10) 作业完成时间11) 作业退出时间12) 资源使用情况等5.在作业调度中应如何确定接纳多少个作业和接纳哪些作业?【解】作业调度每次接纳进入内存的作业数,取决于多道程序度。
操作系统第3章 处理机调度(调度)

3.2 调度算法
进程调度的核心问题就是采用什么样的算法将处 理机分配给进程,常用的进程调度算法有:
先来先服务调度算法
短作业/进程优先调度算法
优先权调度算法
高响应比优先调度算法
时间片轮转调度算法
多级队列调度算法
多级反馈队列调度算法
返回目录
一、先来先服务调度算法FCFS
基本思想:按照进程进入就绪队列的 先后次序来分配处理机。
抢占(剥夺)方式
非抢占方式
一旦把处理机分配给某进程后,便让该进程 一直执行,直到该进程完成或因某事件而被 阻塞,才再把处理机分配给其它进程,不允 许进程抢占已分配出去的处理机。
特点:实现简单,系统开销小,常用于批处 理系统;但不利于处理紧急任务,故实时、 分时系统不宜采用。
抢占方式
允许调度程序根据某种原则(时间片、优 先权、短进程优先),停止正在执行的进 程,而将处理机重新分配给另一进程。
调度算法(太长---FCFS); 上下文切换(太短---上下文切换频繁); 平均周转时间。
短时间片增加上下文切换频率
周转时间随时间片变化
三、时间片轮转调度算法—例(1)
EG: 进程 到达时间
P1
0
P2
2
P3
4
P4
5
RR(时间片为1)
服务时间
7 4 1 4
P1 P2 P1 P2 P3 P1 P4 P2 P1 P4 P2 P1 P4 P1 P4
FCFS SPF-非 SPF-抢
周转T 124.25 100
75.75
等待T 74.25 49.5
25.25
二、SJF/SPF ——抢占式
到达顺序: 进程名 到达时间 服务时间
chap3-1

存阻塞状态。在调出操作的作用下,可使内存就
绪转变为外存就绪、内存阻塞转变为外存阻塞;
在中级调度的作用下,可使外存就绪转变为内存
就绪。
作业调度 批量作业 后备队列 交互型作业
时间片完 进程调度 就绪队列 CPU 进程完成
中级调度 就绪、挂起队列
事件出现 事 件 出 现 阻塞、挂起队列 挂起 等待事件
周转时间和平均周转时间
所谓周转时间,是指从作业提交给系统开始,到作业完成为
止的这段时间间隔,它包括: (1)作业在外存后备队列上等待(作业)调度的时间; (2)进程在就绪 队列上等待进程调度的时间;
(3)进程在CPU上执行的时间;
(4)等待I/O操作的时间。
1 n 平均周转时间为: T Ti n i 1 带权周转时间: W=T/Ts
(1)该任务在该时间片内已经完成,该进程释放处理 机后进入完成状态;
(2)任务在本次其对应的时间片内尚未完成,OS便将 该任务放在就绪队列的后面;
(3)在执行期间,进程因某事件而被阻塞后,OS将它 放入阻塞队列。
时间片完 交互用户
就绪 队 列
进程调度
CPU
进程完成
事 件 出 现
阻塞 队列
等待事件
图3-1 仅有进程调度的调度队列模型
3.1 处理机调度的基本概念
The basic concepts of processor scheduling
3.1.1 高级、中级和低级调度 一般来说,处理机调度可以分成三级:
高级调度(High Level Scheduling)
作业调度(job scheduling)
低级调度(Low Level Scheduling)
计算机操作系统(第四版)课后习题答案第三章

第三章处理机调度与死锁1,高级调度与低级调度的主要任务是什么?为什么要引入中级调度?【解】(1)高级调度主要任务是用于决定把外存上处于后备队列中的那些作业调入内存,并为它们创建进程,分配必要的资源,然后再将新创建的进程排在就绪队列上,准备执行。
(2)低级调度主要任务是决定就绪队列中的哪个进程将获得处理机,然后由分派程序执行把处理机分配给该进程的操作。
(3)引入中级调度的主要目的是为了提高内存的利用率和系统吞吐量。
为此,应使那些暂时不能运行的进程不再占用宝贵的内存空间,而将它们调至外存上去等待,称此时的进程状态为就绪驻外存状态或挂起状态。
当这些进程重又具备运行条件,且内存又稍有空闲时,由中级调度决定,将外存上的那些重又具备运行条件的就绪进程重新调入内存,并修改其状态为就绪状态,挂在就绪队列上,等待进程调度。
3、何谓作业、作业步和作业流?【解】作业包含通常的程序和数据,还配有作业说明书。
系统根据该说明书对程序的运行进行控制。
批处理系统中是以作业为基本单位从外存调入内存。
作业步是指每个作业运行期间都必须经过若干个相对独立相互关联的顺序加工的步骤。
作业流是指若干个作业进入系统后依次存放在外存上形成的输入作业流;在操作系统的控制下,逐个作业进程处理,于是形成了处理作业流。
4、在什么情冴下需要使用作业控制块JCB?其中包含了哪些内容?【解】每当作业进入系统时,系统便为每个作业建立一个作业控制块JCB,根据作业类型将它插入到相应的后备队列中。
JCB 包含的内容通常有:1) 作业标识2)用户名称3)用户账户4)作业类型(CPU 繁忙型、I/O芳名型、批量型、终端型)5)作业状态6)调度信息(优先级、作业已运行)7)资源要求8)进入系统时间9) 开始处理时间10) 作业完成时间11) 作业退出时间12) 资源使用情况等5.在作业调度中应如何确定接纳多少个作业和接纳哪些作业?【解】作业调度每次接纳进入内存的作业数,取决于多道程序度。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
进程调度采用两种方式: ①非抢占方式: • 一旦分配处理机,进程就一直执行,直至完成或
发生某事件而被阻塞,不允许其它进程抢占处理 机。
• 优点:简单、系统开销小,适合大多数批处理系统 • 缺点:无法满足紧急任务的需要,不适合实时系统
②抢占方式: • 允许调度程序根据某原则,暂停正在执行的进 程,将处理机重新分配。 • 抢占原则:优先权原则 、短作业(进程)优先原 则、时间片原则
包括四部分:
等待作业调度时间(高级调度) 等待进程调度时间(低级调度) 执行时间 进程等待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
第三章 处理机调度与死锁
3.1 处理机调度的基本概念 3.2 调度算法 3.3 实时调度(*) 3.4 产生死锁的原因和必要条件 3.5 死锁问题的解决方法
外存
提交 收容
就绪
阻塞
中
级
调
度
就绪
阻塞
内存
执行
完成
低级调度
高级调度
3.1 处理机调度的基本概念
高/中/低级调度 调度队列模型 调度方式和算法的选择准则
截止时间保证——评价实时系统 优先权准则——三种系统中皆适用 公平性原则—— 分时系统
面向系统的准则
系统吞吐量高——评价批处理系统 处理机利用率好——针对大中型系统 各类资源的平衡利用——对大中型系统
周转时间 (通常作为评价批处理系统的性能、 选择作业调度方式与算法的重要准则之一): 是指从作业被提交系统开始,到作业完成为 止的这段时间间隔。
等待事件n
具有高、低两级调度的调度队列模型
作业 调度
后备队列
中级 调度
时间片完
就绪队列
进程调度
进程完成
CPU
挂起
挂起就绪队列
事件出现
事件发生
挂起阻塞队列 阻塞队列
挂起 等待事件
具有高、低、中三级调度的调度队列模型
3.1.3 调度方式和算法的选择准则
面向用户的准则 周转时间短——评价批处理系统 响应时间快——评价实时,分时系统
3.1.1 处理机调度的层次
1、高级调度(作业调度 / 长程调度 / 接纳调度)
多用于批处理系统,决定外存上处于后备队列中 的哪些作业调入内存。
每次调度时要考虑:
(1)接纳多少作业:取决于多道程序度 (2)接纳哪些作业:取决于调度算法
系统规模 运行速度
作业调度运行频率低,几分钟一次
2、低级调度(进程调度/ 短程调度) 用来决定就绪队列中哪个进程应获得处理机,然后再 由分派程序(Dispatcher)执行处理机分配操作。 进程状态:Ready <->Running 引起进程调度的原因有: 进程正常终止或异常终止 正在执行的进程因某种原因而阻塞(I/O请求) 分时系统中时间片用尽 当有一个优先级更高的进程就绪(可抢占式) 在进程通信中,执行中的进程执行了某种原语操作。 如:wait/signal操作、Block原语、wakeup原语等 运行频率高,几十毫秒一次,算法不能太复杂,以免 占用太多的CPU时间。
平均带权周转时间:
w
1 n
n i 1
wi
响应时间(用来评价分时系统的性能,选择分时 系统中进程调度算法的重要准侧之一):
从用户通过键盘提交一个请求开始直至系统首次 产生响应为止的时间。
响应时间包括三部分时间:从键盘输入的请求信 息传送到处理机的时间、处理时间、响应信息回 送终端的时间。
3.2 调度算法
带权周转时间 1 2.67 3.2 1.5 2.25 2.1
3、高优先权优先调度算法(HPF)
作业调度:从后备队列中选择若干个优先权最高的作业装入内存。
进程调度:把处理机分配给就绪队列中优先权最高的进程
非抢占式优先权算法:
一旦分配处理机给优先权最高的进程,进程便一直执行直至 完成,或发生某事件而被阻塞。
运行频率介于高级调度和低级调度之间。
3.1.2 调度队列模型
交互用户
时间片完
就绪队列
进程调度
进程完成
CPU
事
件 发 生
阻塞队列
等待事件
仅具有进程调度的调度队列模型
作业 调度
后备队列
时间片完
就绪队列
进程调度
进程完成
CPU
事件1发生
阻ห้องสมุดไป่ตู้队列
等待事件1
事件2发生
阻塞队列 ……
等待事件2
事件n发生
阻塞队列
作 调业
度情 算况 法
进程名
到达时间 服务时间 完成时间
AB
C
D
E
平 均
01 2 3 4 43 5 2 4 4 7 12 14 18
周转时间 4 6 10 11 14 9 FCFS
带权周转时间 1 2 2 5.5 3.5 2.8
完成时间 4 9 18 6 13
周转时间 4 8 16 3 9 8 SJF
短进程优先(SPF)
从就绪队列中选出估计运行时间最短的进程,将处理机分配 给它,使它立即执行。
直到运行完成,或发生某事件而被阻塞,进程才会让出处理 机——非抢占式。
优点:
有效地降低了作业的平均等待时间,提高系统的吞吐量。
缺点:
对长作业不利,有可能长期不被调度。 完全没考虑作业的紧迫程度(某些特殊的)。 用户做出的估计时间带有很大的主观性。
D 3 100 102 202 199 1.99 周优有转缺利时点 于间: 长实作业现(简=进单完程成)时,间不–利到于达短时作间业(进程)。 带有权利周于转CP时U间繁忙=型周作转业时,间不/利服于务I(/O运繁行忙)型时作间业。
2、短作业 / 进程优先(SJF/SPF)
短作业优先(SJF)
从后备队列中选择估计运行时间最短的作业,调入内存运行。