第三章 调度和死锁
第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
截止时间
• 实时系统的重要指标。 • 开始截止时间和完成截止时间 • 某任务必须开始执行的最迟时间,或必 须完成的最迟时间。
优先权原则
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 ——抢占式
到达顺序: 进程名 到达时间 服务时间
计算机操作系统(第四版)课后习题答案第三章

第三章处理机调度与死锁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.在作业调度中应如何确定接纳多少个作业和接纳哪些作业?【解】作业调度每次接纳进入内存的作业数,取决于多道程序度。
第3章处理机调度与死锁课后习题解答

第3章 处理机调度与死锁
12.在解决死锁问题的几个方法中,哪种方法最易实现? 哪种方法资源利用率最高? 【解答】解决死锁问题的方法有:死锁的预防、死锁的避免、死锁
的检测和解除等。
死锁的预防:主要是破坏产生死锁的必要条件。该方法容易实现,但 资源的利用率低。 死锁的避免:比较常用的有银行家算法。在该算法中有一些数据结构 及必要的计算,因此,实现起来不太容易,但资源的利用率最高。 死锁的检测和解除:是基于死锁定理而设计的,定期或不定期运行该 算法对系统的状态进行检测,发现死锁便予以解除。其中,需要比较 一下各种死锁解除方案的代价,找到代价最小的方案。该算法资源利 用率较高,但最难实现。因此,在以上几种方法中,死锁的预防最易 实现;死锁的避免资源利用率最高。
15.说明Linux系统的进程有哪几个状态? 【解答】 Linux系统内核在进程控制块中用state成员描述 进程当前的状态,并明确定义了5种进程状态。它们分别 是: (1)TASK-RUNNING状态,Linux系统中的运行状态实 际包含了上述基本状态中的执行和就绪两种状态。 (2)TASK-INTERRUPTIBLE状态,可中断的等待态。 (3)TASK-UNINTERRUPTIBLE状态,等待态,不可中 断状态。 (4)TASK-ZOMBIE状态,僵死态。 (5)TASK-STOPPED状态,暂停态。
1
第3章 处理机调度与死锁
2.高级调度与低级调度的功能是什么? 【解答】高级调度即作业调度。作业调度又称为高 级调度或长调度,用于选择把外存上处于后备队列 中的哪些作业调入内存,并为它们创建进程、分配 必要的资源。然后,再将新创建的进程排在就绪队 列上,准备执行。低级调度又称为进程调度,它的 功能是按照某种策略和算法,将处理机分配给一个 处于就绪状态的进程。
第3章 处理机调度与死锁练习答案

第三章处理机调度与死锁一、单项选择题1、操作系统中的作业管理是一种(A )。
A.宏观的高级管理B.宏观的低级管理C.系统刚开始加电D.初始化引导完成2、作业调度又称为[1A],它决定将哪些在外存储器上的处于[2D]状态的作业调入主机内存。
系统经作业调度程序选中一个或多个作业后,就为它们分配必要的内存、设备及软资源。
然后控制权就交给了[3B],由[3]将它们变为一个或一组[4C],并[5A]。
供选择的答案:[1]: A、高级调度 B、低级调度 C、中级调度 D、进程调度[2]: A、就绪 B、阻塞 C、提交 D、后备[3]: A、存储管理模块 B、处理机管理模块 C、文件管理模块 D、设备管理模块[4]: A、指令 B、子程序 C、进程 D、程序段[5]: A、把它们挂到就绪队列上 B、为它们分配处理机C、把它们挂到后备队列上D、为它们分配设备3、处于后备状态的作业存放在(A )中。
A.外存B.内存C.A和BD.扩展内存4、在操作系统中,JCB是指(A )。
A.作业控制块B.进程控制块C.文件控制块D.程序控制块5、作业在系统中存在与否的唯一标志是( C)。
A.源程序B.作业说明书C.作业控制块D.目的程序6、按照作业到达的先后次序调度作业,排队等待时间最长的作业被优先调度,这是指(A)调度算法。
A.先来先服务法B. 短作业优先法C.时间片轮转法D. 优先级法7、在批处理系统中,周转时间是(B )。
A.作业运行时间B.作业等待时间和运行时间之和C.作业的相对等待时间D.作业被调度进入内存到运行完毕的时间8、为了对紧急进程或重要进程进行调度,调度算法应采用( B)。
A.先来先服务法B. 优先级法C.短作业优先法D. 时间片轮转法9、操作系统中,( A)负责对进程进行调度。
A.处理机管理B. 作业管理C.高级调度管理D. 存储和设备管理10.如果系统中所有作业是同时到达的,则使作业平均周转时间最短的作业调度算法是短作业优先调度算法。
计算机操作系统(汤小丹第三版)第3章 处理机调度与死锁

m
Ci P N i 1 i
25
m
第三章 处理机调度与死锁
3.3.2 实时调度算法的分类
1、非抢占式调度算法
图 3-8 非抢占式实时进程调度
26
第三章 处理机调度与死锁
2、抢占式调度算法
图 3-8 抢占式实时进程调度
27
第三章 处理机调度与死锁
3.4.3 常用的几种实时调度算法
1、 最早截止时间优先即EDF(Earliest Deadline First)算法
11
第三章 处理机调度与死锁
3.2.2 选择调度方式和调度算法的若成 这段时间间隔。
1 i (2)平均周转时间: T Ti n i 1
W0 T
(3)带权周转时间:作业周转时间T与系统为它提供 的服务时间TS之比:
作业 调度 后 备 队 列
时间片完
进程调度 进程完成
就 绪 队 列
CPU
事件1出现
等待事件1
事件2出现 … 事件n出现 … …
等待事件2 … 等待事件n
图 3-2 具有高、低两级调度的调度队列模型
9
第三章 处理机调度与死锁
3、 同时具有三级调度的调度队列模型
作业调度 后备队列 批量作业 交互型作业 中级调度 时间片完 就绪队列 进程完成
进程名 到达 时间 A 0 B C D E 1 2 3 4 服务 时间 4 3 5 2 4 带权平均 周转时间
22
完成 时间
周转 时间
带权周 转时间
平均周转时间
第三章 处理机调度与死锁
2、多级反馈队列调度算法 就绪队列1 S1 S2 S3 至CPU 至CPU
就绪队列2 就绪队列3
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第三章调度和死锁
一、单选题
1、在就绪队列中有n个进程等待使用一个cpu,那么如果采用拥有同一种调度算法,总共可能有()种调度顺序
A. n
B. n2
C. n( n-1)/2
D. n!
2、现在有三个同时到达的作业A,B,C,它们的执行时间分别是t1,t2,t3,且t1<t2<t3. 系统按照单道方式运行且采用短作业优先调度算法,则平均周转时间是()。
A. t1+t2+t3
B. (t1+t2+t3)/3
C. (3t1+2t2+t3)/3
D. (t1+2t2+3t3)/3
3、有5个批处理作业A,B,C,D,E几乎同时到达,其预计运行时间分别是10,6,2,4,8, 其优先级(由外部设定)分别是3,5,2,1,4,这里5是最高优先级,以下各种调度算法中平均周转时间为14的是()。
A. 时间片轮转
B. 优先级服务
C. 先来先服务(按照次序10,6,2,4,8)
D. 短作业优先
4、对于处理机调度中的高响应比优先调度算法,通常影响响应比的主要因素是()。
A. 程序长度
B. 静态优先数
C. 运行时间
D. 等待时间
5、下列选项中满足短任务优先并且不会发生饥饿现象的是()。
A.先来先服务 B. 高响应比优先 C. 时间片轮转 D. 非抢占式短任务优先6、在一个单CPU的系统中,I/O1和I/O2 是两个不同的输入/输出设备,它们能够同时工作。
当使用CPU之后控制转向I/O1和I/O2时,或者使用I/O1和I/O2 之后控制转向CPU时,由控制程序执行中断处理,但是这段处理时间可以忽略不计。
有A、B两个进程同时被创建,进程B的调度优先级比进程A高,但是当进程A正在使用CPU时,即时进程B需要占用CPU,也不能打断进程A的
执行。
若在同一系统中分别单独执行,则需要占用CPU、I/O1、I/O2的时间分别如下:
进程A:
进程B:
经过计算可以知道,()执行结束。
A. 进程A
B. 进程B
C. 进程A和进程B同时结束
D. 不一定
7、支持多道程序设计的操作系统在运行的过程中,不断地选择新进程运行来实现CPU的共享,但其中()不是引起操作系统选择新进程的直接原因。
A. 运行进程的时间片用完 B. 运行进程出错
C. 运行进程要等待某一时刻
D. 有新进程进入就绪队列
8、死锁的预防是根据()而采取措施实现的。
A. 配置足够的系统资源
B. 使进程的推进顺序合理
C. 破坏死锁的四个必要条件之一
D. 防止系统进入不安全状态
9、某系统中有11台打印机,N个进程共享打印机资源,每个进程要求3台,但N的取值不超过()时,系统不会发生死锁。
A. 4
B. 5
C. 6
D.7
10、某个计算机系统中共有8台打印机,由K个进程竞争使用,每个进程最多需要3台打印机,该系统可能会发生死锁的K的最小值是()
A.2
B. 3
C. 4
D. 5
提示:由银行家算法可以推出,要使系统安全,对于系统中有m个资源,有n 个并发进程共享使用时,每个进程可以提出的最大资源请求数量为x时,则有n(x-1)+1<=m
11、某系统中有3个并发进程,且都需要同类资源4个,试问该系统不会发生死锁的最小资源数目是()
A. 9
B. 10
C. 11
D. 12
12、死锁定理是用于处理死锁方法中的()方法。
A. 预防死锁
B. 避免死锁
C. 检测死锁
D. 解除死锁
13、某时刻进程对资源的使用情况如下所示,此时系统中的安全序列是()。
二、综合题
1、一个作业从提交开始直到运行结束,可能经过哪些调度?每种调度的功能是什么?若在后备作业队列中同时等待运行的有3个作业A、B、C,已知它们各自的运行时间a、b、c, 其满足a<b<c,证明采用短作业优先调度算法能获得最小
平均周转时间。
并说明短作业优先调度算法会产生什么问题。
2、有5个待执行的作业,分别是A、B、C、D、E,各自估计运行的时间是9,6,3,5,x.试问采用哪种运行次序使平均周转时间最短,其平均周转时间是多少?(提示:答案依赖于x )
3、系统中有5个就绪进程,其就绪时刻(指在该时刻已经在就绪队列中就绪)、服务时间如表所示。
若采用先来先服务、短作业优先、高响应比优先、时间片轮转调度算法(时间片为1),计算相关的平均周转时间和平均带权周转时间。
4、系统中有5个进程,每个进程的运行时间(单位为ms)、优先级和到达时刻如表所示,请给出当系统采用时间片轮转算法(时间片为1ms,此时不考虑进程的优先级)、不可抢占优先级调度和抢占式优先级调度算法时,各进程的运行情况。
其中优先级越大越优先得到执行。
5、假设要在一台处理机上执行如下表所示的作业,其中优先数小的优先级高。
并且假定作业的到达次序为1,2,3,4,5。
用甘特图来说明分别使用FCFS、时间片轮转(时间片=1)、SJF及非抢占优先级调度算法时这些作业的执行情况:针对上述的每一种调度算法,求出每个作业相应的周转时间;就上述的每一种调度算法,,求出每个作业的相应的等待时间。
甘特图:又叫横道图。
它是以图示的方式通过活动列表和时间刻度形象地表示出任何特定项目的活动顺序与持续时间。
6、某个进程被唤醒之后立即投入运行,就说这个系统采用的是剥夺式调度方式,对吗?为什么?
7、将一组就绪进程分为4类,如下图所示。
各类进程之间采用优先级调度,而各类进程的内部采用时间片轮转调度。
请简述P1,P2,P3,P4,P5,P6,P7,P8进程的调度过程。
优先级4 (最高)→P1→P2→P3
优先级3→P4→P5
优先级2→P6→P7→P8
优先级1(最低)
注意:在进程调度过程中可能有些进程运行一段时间后会处于阻塞状态。
8、假设一个计算机系统具有以下性能特征:处理一次中断,平均耗用1ms,一次进程调度,平均需要2ms,将CPU分配给选中的进程,平均需要1ms。
再假设其定时器芯片每秒产生100次中断。
请回答:操作系统将百分之几的CPU时间用于时钟中断?如果采用时间片轮转调度算法,10个时钟中断为1个时间片。
那么,操作系统将百分之几的CPU时间用于进程调度(包括调度、分配CPU和引起调度的时钟中断处理时间)?
9、有两个程序,A程序按顺序使用CPU 10s,使用设备甲5s,使用CPU 5s,使用设备乙10s,最后使用CPU 10s。
B程序按顺序使用设备甲10s,使用CPU 10s,使用设备乙5s,使用CPU 5s,最后使用设备乙10s。
在顺序环境下先执行A,再执行B,CPU 的使用效率是多少?
10、假定就绪队列中有10个进程,系统将时间片设定为200ms,CPU进行进程切换需要10ms,试问系统开销所占的比率大约是多少?
11、在单CPU和两台输入/输出设备(I1,I2)的多道程序设计环境下,同时投入3个作业Job1,Job2,Job3运行,这三个作业对CPU和输入/输出设备的使用顺序和时间如下所示:
Job1: I2(30ms);CPU (10ms);I1(30ms);CPU( 10ms);I2( 20ms)
Job2: I1(20ms);CPU (20ms);I2(40ms)
Job3: CPU (30ms);I1(20ms) ;CPU(10ms);I1(10ms)
假定CPU, I1,I2都能并行工作,Job1优先级最高,Job2 次之,Job3 优先级最低,优先级高的作业可以抢占优先级的作业的CPU,但是不能抢占I1和I2。
试求:(1)3个作业从投入到完成分别需要的时间
(2)从投入到完成的CPU的利用率。
(3)I/O设备的使用率。
12、设系统中仅有一类数量为M的独占型资源,系统中有N个进程竞争使用,其中各进程对该类资源的最大需求量是W,当M、N、W分别取下列值时,试判断下列情况哪些会发生死锁,为什么?
13、银行家算法的主要思想是什么?它能够用来解决实际中的死锁问题吗?为什么?
14、设系统中有3种类型的资源A,B,C和5个进程P1,P2,P3,P4,P5,系统提供的A,B,C三类资源的数量分别是17,5,20。
在T0 时刻系统的状态如表所示,系统采用银行家算法实施死锁避免策略。
1)T0 时刻系统是否处于安全状态?若是,请给出安全序列。
2)若在T0 时刻进程P2请求资源(0,3,4),能否实施资源分配?为什么?3)在2)题的基础上,若进程P4 请求资源(2,0,1),是否能实施资源分配?为什么?
4)在3)题的基础上,若进程P1 请求资源(0,2,0),是否能实施资源分配?为什么?
15、假定系统有R1和R2 两类资源,其中R1有2个,R2有1个,它们被进程P1和P2 共享,且已知两个进程均以下列顺序使用这两类资源:
→申请R1→申请R2→申请R1→释放R1→释放R2→释放R1
试求出系统运行过程中可能达到的死锁点,并画出死锁点的资源分配图(或称进程-资源图)。