第三章处理机调度与死锁
第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
截止时间
• 实时系统的重要指标。 • 开始截止时间和完成截止时间 • 某任务必须开始执行的最迟时间,或必 须完成的最迟时间。
优先权原则
第三章 处理机调度与死锁
3.1.3选择调度方式和算法的目标
2、面向系统的准则
(1)吞吐量高(特别是批处理):单位时 间完成作业数 (2)处理机利用率好:(因CPU贵,特别 是大中型多用户系统) (3)各类资源的平衡利用。 (4)策略强制执行。
3.3调度算法——是一个资源分配问题
处理机调度算法
3.3.1先来先服务和短作业(进程)优先调度算法
1、面向用户的目标 (1)周转时间短(常用于批处理系统)
概念:作业从提交――> 分为: 驻外存等待调度时间 驻内存等待调度时间 执行时间 阻塞时间 完成的时间。
3.1.3选择调度方式和算法的目标
1、面向用户的目标
平均周转时间
1 n T [ Ti ] n i 1
平均带权
1 n Ti W [ ] n i 1 Tsi
2. 多级反馈队列调度算法
(1) 应设置多个就绪队列,并为各个队列赋予不同的优 先级。 第一个队列的优先级最高,第二个队列次之,其余 各队列的优先权逐个降低。该算法赋予各个队列中进程执
行时间片的大小也各不相同,在优先权愈高的队列中,为
每个进程所规定的执行时间片就愈小。例如,第二个队列 的时间片要比第一个队列的时间片长一倍,……,第i+1个队 列的时间片要比第i个队列的时间片长一倍。 图 3-5 是多级 反馈队列算法的示意。
就绪 时间片完 I/O完成 进程调度
阻塞
I/O请求
执行
图 2-5 进程的三种基本状态及其转换
3.2.1调度的队列模型
2.具有高、低级调度的队列模型
作业调度 时间片完 就绪队列 CPU 进程 完成
后备队列 事件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.在作业调度中应如何确定接纳多少个作业和接纳哪些作业?【解】作业调度每次接纳进入内存的作业数,取决于多道程序度。
计算机操作系统(第四版)课后习题答案第三章
第三章处理机调度与死锁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.高级调度与低级调度的功能是什么? 【解答】高级调度即作业调度。作业调度又称为高 级调度或长调度,用于选择把外存上处于后备队列 中的哪些作业调入内存,并为它们创建进程、分配 必要的资源。然后,再将新创建的进程排在就绪队 列上,准备执行。低级调度又称为进程调度,它的 功能是按照某种策略和算法,将处理机分配给一个 处于就绪状态的进程。
第三章 处理机调度与死锁习题及答案 新
第三章处理机调度与死锁一.选择题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.以上说法都不对6.下列各项中,不是进程调度时机的是。
A.现运行的进程正常结束或异常结束B.现运行的进程从运行态进入就绪态C.现运行的进程从运行态进入等待态D.有一进程从等待态进入就绪态7.进程调度算法有多种,不是进程调度算法。
A.先来先服务调度算法B.最短查找时间优先调度算法C.静态优先数调度算法D.时间片轮转调度算法8.作业调度程序从状态的队列中选取适当的作业投入运行。
A.就绪B.提交C.等待D.后备9.在实时操作系统中,经常采用调度算法来分配处理器。
A.先来先服务B.时间片轮转C.最高优先级D.可抢占的优先级10.采用时间片轮转调度算法主要是为了。
A.多个终端都能得到系统的及时响应B.先来先服务C.优先权高的进程及时得到调度D.需要CPU时间最短的进程先做11.下面关于优先权大小的论述中,不正确的论述是。
A.计算型作业的优先权,应低于I/O型作业的优先权B.系统进程的优先权应高于用户进程的优先权C.资源要求多的作业,其优先权应高于资源要求少的作业D.在动态优先权时,随着进程运行时间的增加,其优先权降低12.产生死锁的原因是有关。
A.与多个进程竞争CPUB.与多个进程释放资源C.仅由于并发进程的执行速度不当D.除资源分配策略不当外,也与并发进程执行速度不当13.有关产生死锁的叙述中,正确的是。
第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.如果系统中所有作业是同时到达的,则使作业平均周转时间最短的作业调度算法是短作业优先调度算法。
(完整版)计算机操作系统(第四版)课后习题答案第三章
第三章处理机调度与死锁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章 处理机调度与死锁
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
第三章处理机调度
第三章 处理机调度与死锁
3. 2 调度队列模型 和调度准则
3.2.1. 调度队列模型
1.仅有进程调度的调度队列模型 时间片完
交互用户
事 件 出 现
就绪 队列 阻塞 队 列
进程调度
进程完成 CPU
等待事件
图 3 - 1 仅具有进程调度的调度队列模型
第三章 处理机调度与死锁
…… …
CPU 进程X
进程i
当前进程 调度时间
实时进程
实时进程请求调度 实时进程抢占当前 进程并立即执行
当前进程
实时进程
调度时间
(b) 非抢占式优先权调度
(d) 立即抢占的优先权调度
图 3-6 实时进程调度
第三章 处理机调度与死锁
3.4.3 常用的几种实时调度算法
1. 最早截止时间优先即EDF(Earliest Deadline First)算法 开始截止时间
要求服务时间 10 25 5 10
到达时间 完成时间 周转时间
0 5 10 15 10 35 40 50 10 30 30 35
带权周转时间 1 1.2 6 3.5
先 来 先 服 务
105/4=26.2 5 11.7/4=2.9 25
FCFS
例:FCFS算法比较有利于长作业(进程),而不 利于短作业(进程)。下表列出了A、B、C、D四 个作业分别到达系统的时间、要求服务的时间、 开始执行的时间及各自的完成时间,并计算出各 自的周转时间和带权周转时间。
2.作业控制块JCB(Job Control Block)
在多道批处理系统中为每个作业设置了一个作业 控制块(JCB),它是作业在系统中存在的标志.
当作业进入系统时,OS为其建立JCB.
第三章 处理机调度与死锁习题及答案 新解析
第三章处理机调度与死锁一.选择题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.以上说法都不对6.下列各项中,不是进程调度时机的是。
A.现运行的进程正常结束或异常结束B.现运行的进程从运行态进入就绪态C.现运行的进程从运行态进入等待态D.有一进程从等待态进入就绪态7.进程调度算法有多种,不是进程调度算法。
A.先来先服务调度算法B.最短查找时间优先调度算法C.静态优先数调度算法D.时间片轮转调度算法8.作业调度程序从状态的队列中选取适当的作业投入运行。
A.就绪B.提交C.等待D.后备9.在实时操作系统中,经常采用调度算法来分配处理器。
A.先来先服务B.时间片轮转C.最高优先级D.可抢占的优先级10.采用时间片轮转调度算法主要是为了。
A.多个终端都能得到系统的及时响应B.先来先服务C.优先权高的进程及时得到调度D.需要CPU时间最短的进程先做11.下面关于优先权大小的论述中,不正确的论述是。
A.计算型作业的优先权,应低于I/O型作业的优先权B.系统进程的优先权应高于用户进程的优先权C.资源要求多的作业,其优先权应高于资源要求少的作业D.在动态优先权时,随着进程运行时间的增加,其优先权降低12.产生死锁的原因是有关。
A.与多个进程竞争CPUB.与多个进程释放资源C.仅由于并发进程的执行速度不当D.除资源分配策略不当外,也与并发进程执行速度不当13.有关产生死锁的叙述中,正确的是。
第3章处理机调度与死锁-选择题
第3章处理机调度与死锁(处理机调度)-选择题1.时间片轮转调度算法是为了()A.多个用户能及时干预系统B.使系统变得高效C.优先级较高的进程得到及时响应D.需要CPU时间最少的进程最先做2.在单处理器多进程系统中,进程什么时候占用处理器及决定占用时间的长短是由()决定的A.进程相应的代码长度B.进程总共需要运行的时间C.进程特点和进程调度策略D.进程完成什么功能3.()有利于CPU繁忙型的作业,而不利于I/O繁忙型的作业。
A.时间片轮转调度算法B.先来先服务调度算法C.短作业(进程)优先算法D.优先权调度算法4.下面有关选择进程调度算法的准则中,不正确的是()A.尽快响应交互式用户的请求B.尽量提高处理器利用率C.尽可能提高系统吞吐量D.适当增长进程就绪队列的等待时间5.设有4个作业同时到达,每个作业的执行时间均为2h,它们在一台处理器上按单道式运行,则平均周转时间为()A.1hB.5hC.2.5hD.8h6.若每个作业只能建立一个进程,为了照顾短作业用户,应采用();为了照顾紧急作业用户,应采用();为了能实现人机交互,应采用();而能使短作业、长作业和交互作业用户都满意,应采用()A.FCFS调度算法B.短作业优先调度算法C.时间片轮转调度算法D.多级反馈队列调度算法E.剥夺式优先级调度算法7.()优先级是在创建进程时确定的,确定之后在整个运行期间不再改变A.先来先服务B.动态C.短作业D.静态8.现在有三个同时到达的作业J1、J2和J3,它们的执行时间分别是T1、T2、T3且T1<T2<T3。
系统按单道方式运行且采用短作业优先调度算法,则平均周转时间是()A.T1+T2+T3B.(3T1+2T2+T3)/3C.(T1+T2+T3)/3D.(T1+2T2+3T3)/39.设有三个作业,其运行时间分别是2h、5h、3h,假定它们同时到达,并在同一台处理器上以单道方式运行,则平均周转时间最小的执行顺序是()A.J1,J2,J3B.J3,J2,J1C.J2,J1,J3D.J1,J3,J210. 【2013统考真题】某系统正在执行三个进程P1、P2和P3,各进程的计算(CPU时间和I/O 时间比例如下表所示进程计算时间I/O时间P1 90% 10%P2 50% 50%P3 15% 85%提高系统资源利用率,合理的进程优先级设置应为()A.P1>P2>P3B. P3>P2>P1C. P2>P1=P3D. P1>P2=P311.采用时间片轮转调度算法分配CPU时,当处于运行态的进程完一个时间片后,它的状态是()状态A.阻塞B.运行C.就绪D.消亡12.一个作业8:00到达系统,估计运行时间为1h。
第3章 处理机调度与死锁
4
图 3-7 EDF算法用于非抢占调度方式
第三章 处理机调度与死锁
2. 最低松弛度优先算法
(LLF---- Least Laxity First)
松弛度=必须完成时间-本身运行时间-当前时间
A1 A2 A3 A4 A5 A6 A7 A8 t
0
20
40 B1
60
80
100 B2
120
140 B3
160
第三章 处理机调度与死锁
就绪队列1
S2 就绪队列2 S3
至CPU
至CPU 至CPU
就绪队列3
Sn 就绪队列n 时间片:S1<S2<S3
至CPU
性能:能满足终端型作业用户、短批作业用户、长批作业用户
第三章 处理机调度与死锁
举例:
计算:分别采用FCFS、SPF、高优先级优先、时间片轮转 (时间片为1)调度算法调度时,这批作业的平均周转时间 和平均带权周转时间?
第三章 处理机调度与死锁
3.1.3 选择调度方式和调度算法的若干准则
调度算法的若干准则: 1. 面向用户的准则 2. 面向系统的准则
第三章 处理机调度与死锁
1. 面向用户的准则
周转时间短:(批处理系统) 作业的周转时间T=提交--完成=后备+就绪+运行+阻塞
(切换时间忽略----为进程周转时间)
„
„
等待事 件 n
第三章 处理机调度与死锁
具有高、低两级调度的调度队列模型与上一模型的主要区别: (1) 就绪队列的形式。
批处理系统,最高优先权调度算法: 优先权队列:每创建进程,即按优先权高低排放,每次取队首 执行,最常用; 无序链表方式:每创建进程放队尾,调度时依次比较优先级而 找到最高者执行,效率较低。
(完整版)操作系统第三章课后答案
第三章处理机调度与死锁1. 高级调度与低级调度的主要任务是什么?为什么要引入中级调度?高级调度的主要任务:用于决定把外存上处于后备队列中的哪些作业调入内存,并为它们创建进程,分配必要的资源,然后,再将新创建的进程插入就绪队列上,准备执行。
低级调度的主要任务:用于决定就绪队列中的哪个进程应获得处理机,然后再由分派程序执行将处理机分配给该进程的具体操作。
引入中级调度的主要目的:是为了提高系统资源的利用率和系统吞吐量。
10. 试比较FCFS和SPF两种进程调度算法相同点:两种调度算法都是既可用于作业调度,也可用于进程调度;不同点:FCFS调度算法每次调度都是从后备队列中选择一个或是多个最先进入该队列的作业,将它们调入内存,为它们分配资源,创建进程,然后插入到就绪队列中。
该算法有利于长作业/进程,不利于短作业/进程。
SPF调度算法每次调度都是从后备队列中选择一个或若干个估计运行时间最短的作业,将它们调入内存中运行。
该算法有利于短作业/进程,不利于长作业/进程。
15. 按调度方式可将实时调度算法分为哪几种?按调度方式不同,可分为非抢占调度算法和抢占调度算法两种。
18. 何谓死锁?产生死锁的原因和必要条件是什么?a.死锁是指多个进程因竞争资源而造成的一种僵局,若无外力作用,这些进程都将永远不能再向前推进;b.产生死锁的原因有二,一是竞争资源,二是进程推进顺序非法;c.必要条件是: 互斥条件,请求和保持条件,不剥夺条件和环路等待条件。
19.在解决死锁问题的几个方法中,哪种方法最易于实现?哪种方法是资源利用率最高?解决/处理死锁的方法有预防死锁、避免死锁、检测和解除死锁,其中预防死锁方法最容易实现,但由于所施加的限制条件过于严格,会导致系统资源利用率和系统吞吐量降低;而检测和解除死锁方法可是系统获得较好的资源利用率和系统吞吐量。
20. 请详细说明可通过哪些途径预防死锁?a.摒弃"请求和保持"条件:系统规定所有进程开始运行之前,都必须一次性地申请其在整个运行过程所需的全部资源,但在分配资源时,只要有一种资源不能满足某进程的要求,即使其它所需的各资源都空闲,也不分配给该进程,而让该进程等待;b.摒弃"不剥夺"条件:系统规定,进程是逐个地提出对资源的要求的。
3-处理机调度与死锁
P and Q want B
Get B
5 6 Progress of P
Get A Get B Release A Release B
2015/11/10
A Required B Required
22
2.产生死锁的必要条件
互斥条件:一个资源一次只能被一个进程所使用, 即是排它性使用。
不可抢占条件:一个资源仅能被占有它的进程所释 放,不能被别的进程强占。 请求和保持条件:进程已经保持了至少一个资源, 但又提出了新的资源要求,而该资源又已被其它进 程占有,此时请求进程阻塞,但又对已经获得的其 它资源保持不放。 环路等待条件:当每类资源只有一个时,在发生死 锁时,必然存在一个进程-资源的环形链。
第三章 处理机调度与死锁
(1)处理机三级调度
1.高级(Long-term)调度――作业调度
作业调度用于决定把外存输入井上处于作业后备队列上 的哪些作业调入内存,并为它们创建进程、分配必要的资源, 然后再将新创建的进程排在就绪队列上,准备执行。在批处 理系统中,作业是先驻留在外存的输入井上的,因此需要有 作业调度。然而在分时系统中,通过键盘输入的命令和数据 直接进入内存,无需作业调度。
2015/11/10 24
死锁的避免
该方法允许进程动态地申请资源,系统在进行资源分配之前, 先计算资源分配的安全性。若此次分配不会导致系统从安全状 态向不安全状态转换,便可将资源分配给进程;否则不分配资 源,进程必须阻塞等待。从而避免发生死锁。 1.系统的安全状态 安全状态是指系统的一种状态,在此状态开始系统能按某种顺 序(例如P1、P2……Pn)来为各个进程分配其所需资源,直至最 大需求,使每个进程都可顺序地一个个地完成。这个序列(P1、 P2…….Pn)称为安全序列。若系统此状态不存在一个安全序列, 则称系统处于不安全状态。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3.1 处理机调度的层次 3.2 调度队列模型和调度准则 3.3 调度算法 3.4 实时调度 3.5 产生死锁的原因和必要条件 3.6 预防死锁的方法 3.7 死锁的检测与解除
教学目的与要求
理解处理机调度的概念和调度的层次 掌握各种作业、进程调度算法和实时调
度算法 理解死锁的基本概念 掌握死锁的处理方法 教学重点:各种作业、进程调度算法和死锁
3.3.2高优先权优先调度算法(2)
2)动态优先权: 如:优先权随执行时间而下降,随等待时间而升高。 优点:长短兼顾 缺点:需经常计算各进程优先级
3.高响应比优先调度算法:
响应比Rp=(Tw+Ts)/Ts 特点: (1)短作业RP大。 (2)Ts(要求服务时间)相同的进程间相当于
FCFS。 (3)长作业等待一段时间仍能得到服务。
的进程高
3.1.3 中级调度(中程)
为提高系统吞吐量和内存利用率而引入的一 内--外存 对换功能(换出时,进程为挂起或就绪驻外存状态)
三级调度的运行频率 低>中>高。
3. 2调度的队列模型和调度准则
1.仅有进程调度的队列模型
时间片完
交互用户
就绪队列
事件出现 阻塞队列
进程完成 进程调度 CPU 等待事件
(3)截止时间的保证(特别是实时系统) (4)优先权准则:(即需要抢占调度)
3.1.3选择调度方式和算法的若干准则
2、面向系统的准则
(1)吞吐量高(特别是批处理):单位时 间完成作业数
(2)处理机利用率好:(因CPU贵,特别 是大中型多用户系统)
(3)各类资源的平衡利用。
3.3调度算法——是一个资源分配问题
3.1.2 低级调度(进程调度,短程调度)
主要是决定就绪队列中的哪个进程应获得处理机, 然后由分派程序(Dispatcher)分派处理机。 1.低级调度的功能:
保存处理机现场信息 按某种算法选取进程 把处理机分配给进程
2.进程调度的三个进步机制
排队器 分派器 上下文切换机制:两对切换
CPU Switch From Process to Process
3.2.1调度的队列模型
2.具有高、低级调度的队列模型
作业调度
时间片完
后备队列
就绪队列
进程 进程调度 CPU 完成
事件1出现
阻塞队列
等待事件1
事件2出现
阻塞队列
等待事件2
3.具有三级调度的队列模型
作业调度
时间片完
后备队列
就绪队列 中级调度
进程调度
进程
CPU 完成
交互型作业 事件出现
就绪、挂起队列 阻塞、挂起队列
平均周转时间
T
1n n [ i1 Ti ]
平均带权
W 1 [ n Ti ]
n T i 1 si
可见带权w越小越好,Ts为实际服务时间。
3.1.3选择调度方式和算法的若干准则
1、面向用户的准则
(2)响应时间快:(对交互性作业) 概念:键盘提交请求到首次响应时间 输入传送时间 处理时间 响应传送时间
先来先服务算法实例
图3-4 FCFS和SJ(P)F比较
3.3.2高优先权优先调度算法
1.优先权调度算法类型
非抢占式优先权算法 抢占式优先权算法,实时性更好。
2.优先权类型:
1)静态优先权: 进程优先权在整个运行期不变。 确定优先权依据 进程类型 进程对资源的需求; 根据用户需求。 特点:简单,但低优先权作业可能长期不被调 度(饥饿)。 (例子MIT IBM7049 )
3.3.1先来先服务和短作业(进程)优先调度算法
1.先来先服务调度算法(FCFS)
特点:简单,有利于长作业(进程) 即CPU繁忙 性作业,不利于短作业(进程)
2.短作业(进程)优先调度算法:SJ(P)F
提高了平均周转时间和平均带权周转时间(从而 提高了系统吞吐量)
特点:对长作业不利,有可能得不到服务 估计时间不易确定
常见的批处理作业调度算法
先来先服务算法(FCFS:First Come First Serve)
最短作业优先算法(SJF:Shortest Job First)
最短剩余时间优先(SRTF: Shortest Remaining Time First)
最高响应比优先算法(HRRF:Highest Response Ratio First)
事件出现 挂起
阻塞队列
等待事件
3.2.2 选择调度方式和调度算法的若干准则
1、面向用户的准则
(1)周转时间短(常用于批处理系统) 概念:作业从提交――> 完成的时间.分 为: 驻外存等待调度时间 驻内存等待调度时间 执行时间 阻塞时间
3.1.3选择调度方式和算法的若干准则
面向用户的准则
3.进程调度方式:
1)非抢占方式:
简单、系统开销小,实时性差 (如win31)
2)抢占方式
(1)优先权原则 (2)短进程优先原则 (3)时间片原则
引起进程调度的因素有哪些?
进程正常终止或异常终止 进程因某种原因阻塞:I/O请求;wait操作等 时间片用完 抢占方式下,就绪队列中某进程的优先权比当前执行
1、作业和作业步
作业:包含程序、数据和作业说明书。 作业步:作业执行过程中的每一个加工步骤 作业流:作业进入系统,依次存于外存形成作业流
2、作业控制块(JCB) 它是作业在系统中存在的标志,其中保存了系统 对作业进行管理和调度所需的全部信息。 内容:
作业标识,用户名,作业类型,作业状态,调度信息等
的处理方法等。
教学难点:作业、进程调度算法, 死锁
3.1 处理机调度的层次
对资源进行有效的调度是非常必要的,我们 生活中也会经常遇到,如:调度银行出纳员 服务顾客请求问题等。
CPU是计算机系统中的一个十分重要的资源, 对它进行高效的调度是操作系统设计的中心 问题之一。
3.1 处理机调度的层次
3.1.1高级调度 (作业调度、长程调度、接纳调度)
进入系统->建立JCB->插入相应后备队列->作业调 度->作业控制->作业结束->回收资源
3、作业调度
将外存作业调入内存,创建PCB等,插入就绪队 列。
一般用于批处理系统,分/实时系统一般直接入 内存,无此环节。
调度特性 接纳作业数(内存驻留数,多道程序度) 太多―――> 周转时间T长 太少―――> 系统效率低 接纳策略:即采用何种调度算法:FCFS、短作 业优先等