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