处理机调度与死锁1
第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
截止时间
• 实时系统的重要指标。 • 开始截止时间和完成截止时间 • 某任务必须开始执行的最迟时间,或必 须完成的最迟时间。
优先权原则
计算机操作系统课后习题答案第三章(第四版)
第三章处理机调度与死锁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章
第三章处理机调度与死锁1、时间片轮转调度算法是为了()。
A、多个用户能及时干预系统B、使系统变得高效C、优先级较高的进程得到及时响应D、需要CPU时间最少的进程最先做2、()有利于CPU繁忙型的作业,而不利于I/O繁忙型的作业。
A、时间片轮转调度算法B、先来先服务调度算法C、短作业(进程)优先算法D、优先权调度算法3、下面有关选择进程调度算法的准则中不正确的是()。
A、尽快响应交互式用户的请求B、尽量提高处理器利用率C、尽可能提高系统吞吐量D、适当增长进程就绪队列的等待时间4、设有4个作业同时到达,每个作业的执行时间均为2h,它们的一台处理器上按单道式运行,则平均周转时间为()。
A、1hB、5hC、2.5hD、8h5、若每个作业只能建立一个进程,为了照顾短作业用户,应采用();为了照顾紧急作业用户,应采用();为了能实现人机交互,应采用();而能使短作业、长作业和交互作业用户都满意,应采用()。
A、FCFS调度算法B、短作业优先调度算法C、时间片轮转调度算法D、多级反馈队列调度算法E、剥夺式优先级调度算法6、()优先级是在创建进程时确定的,确定之后在整个运行期间不在改变。
A、先来先服务B、动态C、短作业D、静态7、现在有三个同时到达的作业J1、J2和J3,它们的执行时间分别是T1、T2、T3,且T1<T2<T3。
系统按单道方式运行且采用短作业优先调度算法,则平均周转时间是()A、T1+T2+T3 B、(3×T1+2×T2+T3)/3C、(T1+T2+T3)/3D、(T1+2×T2+3×T3)/38、设有三个作业,其运行时间分别是2h、5h、3h,假定它们同时达到,并在同一个处理器上以单道方式运行,则平均周转时间最小的执行顺序是()A、J1,J2,J3B、 J3 ,J2,J1C、J2,J1,J3D、 J1 ,J3 ,J29、采用时间片轮转调度算法分配CPU时,当处于运行状态的进程用完一个时间片后,它的状态是()状态。
太原理工大学操作系统-第三章处理机调度与死锁分析
统 都要经历4个状态:提交、后备(收容)、执行和完成。
1)提交状态:通过终端设备向计算机的磁盘输入作业信息 时所处的状态。
第 2)后备状态:作业的全部信息已输入到磁盘的一个专用区
三 (输入井)中等待作业调度时所处的状态。
章
处 3)执行状态:在后备作业队列中的作业一旦被作业调度程
理 序选中,为它分配了必要的资源,并且建立了进程, 开始处
死
锁
6
操
作 系
二、调度队列模型
统
1. 仅有进程调度的调度队列模型
时间片完
第 交互用户
三
章
事
处
件
理
出
机
现
调
度
与
死
锁
就绪 队列 阻塞队列
进程调度
进程完成 CP U
等待事件
仅具有进程调度的调度队列模型
7
操
作 2. 具有高级和低级调度的调度队列模型
系
统
作业
时间 片完
调度
后备队列
就绪 队 列
进程 调度
进程 完成 CP U
锁 不宜采用这种调度方式。
4
操
作 系
2)抢占式调度方式
统
当重要或紧迫的进程一到,便把正在执行的进程占
有的处理机强行剥夺下来,并转给这个优先级比它更高
的重要或紧迫的就绪进程,使其运行。
第
三 章
抢占的原则:
处
(1) 优先权原则
理 机
(2) 短作业(进程)优先原则
调 度
(3) 时间片原则
与
死
锁
5
操
作 系
第 行的进程继续执行,直到该进程完成任务终止运行或发生某
2013 第三章 处理机调度课堂讨论-习题解析
下面不属于作业调度算法评估标准的是( )
A.CPU利用率 C.吞吐量 B.内存利用率 D.周转时间
有5个待运行作业J1~J5,各自预计运行的 时间分别是9,6,3,5和7。假定这些作 业同时到达,并且在一台处理机上按单道 方式执行。讨论采用哪种调度算法和哪种 运行次序将使平均周转时间最短,平均周 转时间为多少。
第三章 处理机调度与死锁(9)
如下图所示,将一组进程分为4类,各类进程之间 采用优先级调度,而各类进程内部采用时间片轮转 调度,简述进程P1、P2、P3、P4、P5、P6、P7、 P8的调度过程。
第三章 处理机调度与死锁(5)
3个优先级由高到低的作业J1、J2、J3:
J1: IO2(30ms),CPU(10ms),IO1(30ms),CPU(10m s) J2:IO1(20ms),CPU(20ms),IO2(40ms) J1 J3:CPU(30ms),IO1(20ms) J2 J3
处理器调度采用可抢占式的优先级算法,忽略其它 辅助操作时间,回答下列问题:
分别计算作业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设有4个作业同时到达每个作业的执行时间均为2小时它们在一台处理机上按单道式运行则平均周转时间为设有4个作业同时到达每个作业的执行时间均为2小时它们在一台处理机上按单道式运行则平均周转时间为a1小时b5小时c25小时d8小时设有3个作业j1j2j3其运行时间分别为2小时5小时3小时假定它们同时到达并在同一台处理机上以单道方式运行则平均周转时间最小的执行顺序是设有3个作业j1j2j3其运行时间分别为2小时5小时3小时假定它们同时到达并在同一台处理机上以单道方式运行则平均周转时间最小的执行顺序是aj1j2j3bj3j2j1cj2j1j3dj1j3j2第三章处理机调度与死锁1下列不属于进程调度算法的是a
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)在此基础上
第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.若每个作业只能建立一个进程,为了照顾短作业用户,应采用();为了照顾紧急作业用户,应采用();为了能实现人机交互,应采用();而能使短作业、长作业和交互作业用户都满意,应采用()BECDA.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。
处理机调度与死锁习题及答案新
第三章处理机调度与死锁•选择题下列算法中,操作系统用于作业调度的算法是A. 先来先服务算法 C.最先适应算法 在批处理系统中,周转时间是指 ___________________________________ A. 作业运行时间 B .作业等待时间和运行时间之和 C.作业的相对等待时间 D .作业被调度进入内存到运行完毕的时间 在作业调度中,排队等待时间最长的作业被优先调度,这是指 ____________ 调度算法。
A. 先来先服务 B .短作业优先 C.响应比高优先D .优先级下列算法中,用于进程调度的算法是 A. 最先适应 C.均衡资源调度 两个进程争夺同一个资源 A. —定死锁 C.只要互斥就不会死锁下列各项中,不是进程调度时机的是 ___________________________________________ 。
A. 现运行的进程正常结束或异常结束 B .现运行的进程从运行态进入就绪态C.现运行的进程从运行态进入等待态 D .有一进程从等待态进入就绪态进程调度算法有多种, _______ 不是进程调度算法。
A.先来先服务调度算法 B .最短查找时间优先调度算法 C.静态优先数调度算法 D .时间片轮转调度算法 作业调度程序从 _____ 状态的队列中选取适当的作业投入运行。
A.就绪B .提交 C.等待 D .后备 在实时操作系统中,经常采用 ______ 调度算法来分配处理器。
A •先来先服务B •时间片轮转C 最高优先级D •可抢占的优先级.采用时间片轮转调度算法主要是为了 _________ A. 多个终端都能得到系统的及时响应 B. 先来先服务C. 优先权高的进程及时得到调度D. 需要CPU 寸间最短的进程先做.下面关于优先权大小的论述中,不正确的论述是 _________ 。
A.计算型作业的优先权,应低于 I/O 型作业的优先权B. 系统进程的优先权应高于用户进程的优先权C. 资源要求多的作业,其优先权应高于资源要求少的作业D. 在动态优先权时,随着进程运行时间的增加,其优先权降低 .产生死锁的原因是 有关。
计算机操作系统(第四版)课后习题答案第三章
第三章处理机调度与死锁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.在作业调度中应如何确定接纳多少个作业和接纳哪些作业?【解】作业调度每次接纳进入内存的作业数,取决于多道程序度。
考研操作系统-处理机调度与死锁(一)_真题-无答案
考研操作系统-处理机调度与死锁(一)(总分84,考试时间90分钟)一、选择题1. 为了使系统中各部分资源得到均衡使用,就必须选择对资源需求不同的作业进行合理搭配。
这项工作是由( )完成的。
A.作业调度 B.中级调度 C.进程调度 D.设备调度2. 为了照顾紧迫型作业,应采用( )。
A.先来先服务调度算法 B.短作业优先调度算法C.时间片轮转调度算法 D.优先权调度算法3. 一个作业8:00到达系统,估汁运行时间为1小时。
若10:00开始执行该作业,其响应比是( )。
A.2 B.1 C.3 D.44. 现有3个同时到达的作业J1、J2和J3,它们的执行时间分别是T1、T2和T3,且T1<T2<T3。
系统按单道方式运行且采用短作业优先算法,则平均周转时间是( )。
A.T1+T2+T3 B.(T1+T2+T3)/3C.(3T1+2T2+T3)/3 D.(T1+2T2+3T3)/35. 有3个作业J1、J2和J3,其运行时间分别是2、5和3小时,假定它们同时到达,并在同一台处理机上以单道方式运行,则平均周转时间最小的执行序列是( )。
A.J1,J2,J3 B.J3,J2,J1C.J2,J1,J3 1).J1,J3,J26. 下面有关选择进程调度算法的准则错误的是( )。
A.尽量提高处理器利用率B.尽可能提高系统吞吐量C.适当增长进程在就绪队列中的等待时间D.尽快响应交互式用户的请求假设就绪队列中有10个进程,以时间片轮转方式进行进程调度,时间片大小为300ms,CPU 进行进程切换要花费10ms,则系统开销所占的比率约为 (7) ;若就绪队列中进程个数增加到20个,其余条件不变,则系统开销所占的比率将为 (8) 。
7. A.1% B.3% C.5% D.10%8. A.增加B.减少C.不变D.不确定9. 下列调度算法中,( )调度算法是绝对可抢占的。
A.先来先服务 B.时间片轮转C.优先级 D.短进程优先10. 在操作系统中,死锁出现指的是( )。
处理机调度与死锁
优先权的类型
• 静态优先权还是动态优先权 • 1)静态优先权:在创建进程是确定,而且 在整个运行期间保持不变。 • 确定进程优先权的依据: • 1)进程类型。一般来说系统进程的优先权 高于用户进程的优先权。 • 2)进程对资源的需求。对资源需求少的进 程应该赋予高的优先权。 • 3)用户要求。用户进程的紧迫程度。 静态优先权简单易行,系统开销小,很可能
进程调度中的三个基本机制
• 1、排队器。为了提高进程调度的效率,应 事先将系统中所有的就绪进程按照一定的 方式排成一个或者多个队列,以便调度程 序能最快的找到它。 • 2、分派器。分派器把由进程调度程序所选 定的进程,从就绪队列中取出该进程,然 后进行上下文切换,将处理机分配给它。 • 3、上下文切换机制。当对处理机进行切换 的时候,会发生两队上下文切换操作。在
• 注意:上下文切换会花去不少的处理器时 间,每一次上下文切换大约需要花费几毫 秒的时间,该时间大约可以执行上千条指 令。为此,现在已有通过硬件的方法来减 少上下文切换的时间。一组寄存器供处理 机在系统态时使用,另一组寄存器供应用 程序使用。在这种条件下的上下文切换只 需改变指针,使其指向当前寄存器组即可。
进程调度方式
• 1、非抢占方式。在采用这种调度方式时, 一旦把处理机分配给某个进程后,不管它 要运行多长时间,都一直让它运行下去, 决不会因为时钟中断等原因而抢占正在运 行进程的处理机,也不允许其他进程抢占 已经分配给它的处理机。直至该进程完成, 自愿释放处理机,或发生某事件而被阻塞 时,才把处理机分配给其它进程。
非抢占调度方式引起调度的因素
• 1、正在执行的进程执行完毕,或因发生某 事件而不能再继续执行。 • 2、执行中的进程因提出IO请求而暂停执行 • 3、在进程通信或者同步过程中执行了某种 原语操作,如P操作、block原语、wakeup 原语等。
第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.如果系统中所有作业是同时到达的,则使作业平均周转时间最短的作业调度算法是短作业优先调度算法。
操作系统处理机调度与死锁习题
处理机调度和死锁习题第一部分:处理机的调度一、单项选择题1.时间片轮转调度算法是为了()。
A.多个终端能够得到系统及时响应B.使系统变得高效C.优先级较高的进程得到及时响应D.需要CPU时间最少的进程最先做2.在单处理器的多进程系统中,进程什么时候占用处理器以及决定占用时间的长短是由()决定的。
A.进程相应的代码长度B.进程总共需要运行的时间C.进程特点和进程调度策略D.进程完成什么功能3.()有利于CPU繁忙型的作业,而不利于}/0繁忙型的作业。
A.时间片轮转调度算法B.先来先服务调度算法C.短作业(进程)优先算法D.优先权调度算法4.下面有关选择进程调度算法的准则中不正确的是()。
A.尽快响应交互式用户的请求B.尽量提高处理器利用率C.尽可能提高系统吞吐量D.适当增长进程就绪队列的等待时间5.设有4个作业同时到达,每个作业的执行时间均为2h,它们在一台处理器上按单道运行,则平均周转时间为()。
A.1h B.5h C.2.5h D.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 + T3 B.(3 x Tl+2 x T2 + T3)/3C.(T1+T2+T3)/3 D.(TI+2 x T2+3 x T3 )/39.设有三个作业,其运行时间分别是2h, 5h, 3h,假定它们同时到达,并在同一台处理器上以单道方式运行,则平均周转时间最小的执行顺序是()。
第三章 处理机调度与死锁习题及答案 新解析
第三章处理机调度与死锁一.选择题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章处理机调度和死锁)_答案
第三部分作业管理一、选择题1、在操作系统中,JCB是指()。
A、作业控制块B、进程控制块C、文件控制块D、程序控制块2、处于后备状态的作业存放在()中。
A、外存B、内存C、A和BD、扩展内存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、作业等待时间与要求服务时间之比11、为了对紧急进程或重要进程进行调度,调度算法应采用()。
A、先来先服务法B、优先级法C、短作业优先法D、时间片轮转法12、时间片轮转调度算法是为了()。
A、多个终端都能得到系统的及时响应B、先来先服务C、优先级高的进程先使用CPUD、紧急事件优先使用CPU13、在操作系统中,作业处于()状态时,已处于进程的管理之下。
A、后备B、阻塞C、运行D、完成14、一个作业8:00提交系统,估计运行时间为1小时,若10:00开始执行该作业,其响应比是()。
第3章处理机调度与死锁
第3章处理机调度与死锁1、若进程P一旦被唤醒就能投入运行,系统可能为()A、分时系统,进程P的优先级最高B、抢占调度方式,就绪队列上的所有进程的优先级皆比P的低C、就绪队列为空队列D、抢占调度方式,P的优先级高于当前运行的进程2、一个进程P被唤醒后,()A、P就占有了CPUB、P的PCB被移到就绪队列的队首C、P的优先级肯定最高D、P的状态变为就绪3、当系统中()时,系统将不会执行进程调度原语。
A、一个新进程被创建B、当前进程执行了P操作C、在非抢占调度中,进程A正在运行而进程B恰好被唤醒D、分时系统中的时间片用完4、在分时系统中,若当前运行进程连续获得了两个时间片,原因可能是()A、该进程的优先级最高B、就绪队列为空C、该进程最早进入就绪队列D、该进程是一个短进程5、死锁预防方法中,不太可能的一种方法是()A、摒弃互斥条件B、摒弃请求和保持条件C、摒弃不剥夺条件D、摒弃环路等待条件6、某系统采用了银行家算法,则下列叙述正确的是()A、系统处于不安全状态时一定会发生死锁B、系统处于不安全状态时可能会发生死锁C、系统处于安全状态时可能会发生死锁D、系统处于安全状态时一定会发生死锁7、下列进程调度算法中,()可能会出现进程长期得不到调度的情况。
A、静态优先权法B、抢占式调度中采用动态优先权算法C、分时处理中的时间片轮转调度算法D、非抢占式调度中采用FCFS算法8、在动态优先权的调度算法中,如果所有进程都具相同优先权初值,则此时的优先权调度算法实际上和()相同。
A、FCFS调度算法B、SJF调度算法C、RR调度算法D、长作业优先调度算法9、下列选项中,导致创进新进程的操作是()I 用户成功登陆II 设备分配III 启动程序执行A、仅I 和IIB、仅II 和IIIC、仅I 和IIID、I,II,III10、采用按序分配资源策略可以预防死锁,这是因为它能破坏产生死锁的四个必要条件之一。
它所破坏的条件是( )A、互斥条件B、请求和保持条件C、不剥夺条件D、环路等待条件11、下列选项中,降低进程优先权级的合理时机是()A、进程的时间片用完B、进程刚完成Z/O,进入就绪队列C、进程长期处于就绪队列中D、就绪从就绪状态转为运行态12、操作系统会按若干原因选择进程运行,不是立即进入操作系统进行进程选择的情况是()A.运行进程的时间片用完B.运行进程出错C.运行进程要等待某一事件发生D.有新进程进入就绪状态13、系统出现死锁一定同时保持四个必要条件,采用按序分配资源策略可以破坏的条件是()A.互斥使用资源B.非抢夺式分配C.占有并等待资源D.循环等待资源14、采用银行家算法可避免死锁的发生,这是因为该算法( )A.可抢夺已分配的资源B.能及时为各进程分配资源C.任何时刻都能保证每个进程得到所需的资源D.任何时刻都能保证至少有一个进程可得到所需的全部资源15、对资源采用按序分配策略能()A.防止死锁B.避免死锁C.检测死锁D.解除死锁16、在操作系统中,死锁出现指的是()。
东软操作系统习题及答案(3)
第三章处理机调度与死锁一、单项选择题1.如果一个进程的周转时间比较大,但带权周转时间比较小,说明该进程()。
A.是一个短进程,且执行过程中等待时间相对较长B.是一个短进程,且执行过程中等待时间相对较短C.是一个长进程,且执行过程中等待时间相对较长D.是一个长进程,且执行过程中等待时间相对较短2.下列调度算法中,对所有就绪进程都比较公平的算法是()。
A.FCFS B.SPFC.RR(时间片轮转法) D.HRRN3.下列调度算法中,需要事先估计进程运行时间的算法是()。
A.FCFS B.HRRNC.RR D.多级反馈队列调度算法4.下列哪种调度决定了系统的多道程序度?()A.高级调度B.中级调度C.低级调度D.进程调度5.以下执行最频繁的调度方式是()。
A.高级调度B.中级调度C.低级调度D.作业调度6.从用户提交作业到作业最终完成的时间间隔称为()。
A.响应时间B.周转时间C.服务时间D.等待时间7.抢占方式的调度是指当前正在运行的进程被操作系统中断,并转移到()状态。
A.阻塞状态B.新建状态C.就绪状态D.挂起状态8.当一个时间片比运行时间最长的进程还要长时,时间片轮转调度算法就退化成了()。
A.HRRN B.FCFSC.SPF D.多级反馈队列调度算法9.下列调度算法中,属于抢占策略的算法是()。
A.FCFS B.RRC.SPF D.HRRN10.若某一时刻系统中的一个进程的响应比最高,则说明该进程()。
A.运行时间最长B.等待时间最长C.周转时间最长D.等待时间与运行时间的比值最大11.下列调度算法中,能让每一个进程在进入就绪队列后很快得到一次运行机会的调度算法是()。
A.FCFS B.SPFC.RR12. 对于一个刚刚到达的进程,其响应比应该为()。
A.0 B.1C.2 D.无穷大13. 在时间片轮转调度算法中,如果时间片一定,且每个进程的服务时间都大于一个时间片,则运行的进程越多,每个进程()。
第4章 处理机调度与死锁复习题答案
第4章处理机调度与死锁练习题(一)单项选择题1.用户要求计算机处理的一个计算问题称为一个( )。
A.进程 B程序 c.作业 D系统调度2.一个作业的完成要经过若干加工步骤,这每个步骤称为( )。
A.作业流B.子程序 c.子进程 D.作业步3.通常一个批处理作业要经过若干作业步才能完成,系统要求用户( )给出说明。
A.只能在作业提交时 B.只能在作业执行过程中 c.在作业提交时或作业执行过程中 D.不必4.在批处理系统中,作业控制说明书是用操作系统提供的( )编写而成的。
A.c语言 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.作业等待时间与系统调度时间之比11.作业调度选择一个作业装入主存后,该作业能否占用处理器必须由( )来决定。
A.设备管理 B.作业控制 C.驱动调度 D、进程调度12.在分时系统控制下,对终端用户采用( )方法使每个终端作业去占用处理器。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
处理机调度与死锁Operating System3.4 死锁死锁定义多个进程在运行过程中因争夺资源而造成的僵局称为死锁,当进程处于这种僵持状态时,若无外力作用,它们都将无法向前推进3.5.1 产生死锁的原因竞争资源进程间推进顺序非法竞争资源引起死锁共享资源数目难以满足各进程的需求时,诸进程会竞争资源,导致死锁♋资源分类:可剥夺资源和非可剥夺资源;永久性资源和临时性资源۩竞争非剥夺资源:进程对非剥夺资源的长期占用或争夺导致死锁产生۩竞争临时性资源:临时性资源由一个进程产生,被另一个进程使用很短时间后失效死锁环路(竞争非剥夺资源)方块代表非剥夺资源,圆圈代表进程;箭头从进程指向资源时,表示进程申请该资源;箭头从资源指向进程时,表示该资源已经分配给该进程;若形成环路,则出现死锁死锁环路(竞争临时资源)若S1、S2、S3均为临时资源,分别由进程P1、P2、P3生成,且P1申请S3、P2申请S1、P3申请S2,则按照下述顺序进行时会产生不同结果♋P1:release(S1);request(S3);P2:release(S2);request(S1);P3:release(S3);request(S2);♋P1:request(S3);release(S1);P2:request(S1);release(S2);P3:request(S2);release(S3);进程推进顺序不当引起死锁进程运行过程中请求和释放资源的顺序不当会导致死锁进程运行具有异步性特征,使得进程推进顺序可能有合法与非法两种情况产生♋合法推进顺序:不会产生死锁的推进顺序♋非法推进顺序:可能导致死锁的推进顺序进程推进顺序导致死锁产生死锁的必要条件互斥条件进程对得到的资源进行排他性使用,只有本身完成对资源的使用才释放请求和保持条件某进程无法得到所请求的资源时阻塞自身且不放弃对已获取的其他资源的控制权不剥夺条件进程已获得资源在自身没有主动释放时不可被他人剥夺环路等待条件发生死锁时,必然存在一个进程-资源的环形等待链,即进程集合{P0,P1,…,P n }中的P0等待P1占用的资源,P1等待P2占用的资源,……,P n等待P0占用的资源产生死锁的必要条件设某系统中现有20个进程竞争65个同类资源,其申请方式是逐个进行的,一旦某进程完成工作就立即释放所有占用的资源,且每个进程最多使用3个该类资源,则这个系统是否会在该资源上产生死锁?产生死锁的必要条件设某系统中有一类资源的总数目为8,它们由N个进程竞争,每个进程最多需要3台该资源,则N为多少时不会产生死锁?处理死锁的基本方法预防死锁避免死锁检测死锁解除死锁预防死锁通过设置限制条件破坏产生死锁的四个必要条件中的一个或几个来预防死锁的产生该方法实现简单,应用广泛,但限制条件的过于严格会导致系统资源利用率和系统吞吐量的降低避免死锁在资源动态分配过程中使用某种方法防止系统进入不安全状态以避免死锁发生该方法只需采取较弱的限制,便可获得较高的资源利用率和系统吞吐量,但实现较麻烦检测死锁此方法允许系统运行过程中产生死锁,但系统中设置的检测机构可以及时检测出死锁的发生,并精确确定与其有关的进程和资源,以便采取适当的措施清除死锁解除死锁当检测机构发现系统中存在死锁时,须将进程从死锁状态中解脱出来♋挂起或撤销某些进程以回收资源,以便将其分配给等待这些资源的其他阻塞进程,使之能够转为就绪态,进而获得执行死锁的检测和解除措施实现难度最大,但系统资源利用率和吞吐量较好3.5.2 预防和避免死锁的方法预防死锁产生死锁的四个条件中,互斥条件是系统自身需求,不可改变♋摒弃“请求和保持”条件♋摒弃“不剥夺”条件♋摒弃“环路等待”条件避免死锁使系统始终处于安全状态来避免死锁产生摒弃“请求和保持”条件采用此方法的系统规定所有进程在开始运行之前,都必须一次性地申请其在整个运行过程中所需的全部资源♋摒弃请求条件:进程运行时不必再提出资源申请♋摒弃保持条件:只要有一个资源不能得到,其他资源也不会分配给它,在等待期间并不占有资源优点:简单易行、安全性高缺点:资源严重浪费、进程延迟执行摒弃“不剥夺”条件采用此方法的OS规定进程逐个提出对资源的要求,当已经保持了一定资源的进程无法立即得到新申请的资源时,必须释放它所保持的其他所有资源,待以后需要时再进行申请此方法实现复杂且代价较大对当前资源的被迫释放可能会导致前期工作的失效或前后两次运行信息的不连续性,反复的申请与释放资源会延误进程执行,增加系统开销摒弃“环路等待”条件采用此方法的OS将所有资源按类型线性排队,并赋予不同序号,所有进程对资源的请求必须严格按照资源序号递增的次序提出,以避免环路出现此方法中总有一个进程占据了较高序号的资源,以后它所申请的资源必然是空闲的,因此可以正常进行摒弃“环路等待”条件此方法对资源利用率和系统吞吐量都有较明显改善缺点♋各类资源的序号相对稳定,限制了新类型设备的增加♋作业使用各类型资源的顺序与系统规定的顺序不符,造成资源浪费♋增加用户编程复杂性避免死锁在避免死锁方法中,允许进程动态的申请资源,但每次系统进行资源分配前,应先计算此次资源分配是否会导致系统进入不安全状态,若不会产生不安全,则为其分配所需资源;否则,令进程等待安全状态系统能按某种进程的安全序列为每个进程P i分配其所需资源,直至满足每个进程对资源的最大需求,使其全部能顺利完成;若不存在这样的序列,则称系统处于不安全状态处于不安全状态的系统可能会产生死锁,避免死锁就是避免系统进入不安全状态如果某状态是非安全的,仅表示资源管理器“失去控制”,死锁与否将由进程以后的活动来决定安全状态Eg:系统中有进程P1、P2、P3和12台磁带驱动器,各进程对此资源的需求和分配情况如下表所示,此时按照安全序列< P2, P1, P3 >分配资源可以保证各进程都顺利完成安全状态分配资源时若不按照安全序列的顺序,可能会导致OS由安全状态进入不安全状态eg:在上例中,为进程P3分配一台磁带机,系统进入不安全状态,此时再也找不到一个安全序列避免死锁的利器——银行家算法银行家算法中的数据结构♋可利用资源向量Available۩含有m个元素的数组,每个元素代表一类可利用资源的数目,其初值为系统中该类资源的全部可用数目,“资源R j的当前可用数目为K”可表示为Available[j]=K ♋最大需求矩阵Max۩一个n*m的矩阵,表示n个进程分别对m类资源的最大需求量,“进程i需要R j类资源的最大数目为K”可以表示为Max[i,j]=K避免死锁的利器——银行家算法银行家算法中的数据结构♋分配矩阵Allocation۩n*m的矩阵,表示当前n个进程分别获得的m类资源的数目,“进程i当前已分得R j类资源的数目为K”可以表示为Allocation[i,j]=K♋需求矩阵Need۩n*m的矩阵,表示n个进程还需要的各类资源数目,“进程i还需要R j类资源K个”可以表示为Need[i,j]=K这些数据结构存在下列关系Need[i,j]=Max[i,j]-Allocation[i,j]银行家算法设Request i是进程P i的请求向量,“进程P i需要K个R j类资源”表示为Request i[j]=K。
当P i发出资源请求后,系统按下述步骤进行检查1)若Request i[j] ≤Need[i,j],转向步骤2;否则进程所需资源数已超过它所宣布的最大值,出错2)若Request i[j] ≤Available[j],转向步骤3;否则表示系统中无足够资源,进程P i需要等待银行家算法3)系统尝试把资源分配给进程P i,并按照下式修改数据结构中的相应数值:Available[j]:= Available[j]- Request i[j]Allocation[i,j]:= Allocation[i,j] + Request i[j]Need[i,j]:= Need[i,j]-Request i[j]4) 系统执行安全性检查,若系统在此次分配后处于安全状态,正式将资源分配给请求进程;否则,本次分配作废,恢复原来的系统状态,进程P i等待安全性算法算法描述♋设置向量W ork:array[1,2,…,m] of integerFinish:array[1,2,…,n] of boolean安全性算法算法步骤1)Work[j]:=Available[j],Finish[j]:=false2)寻找满足Finish[j]=false和Need[i,j]≤Work[j]的进程,若找到转向3,否则转向43)当进程P i获得资源后,可顺利执行到完成并释放分配到的资源,其执行序列为Work[j] := Work[j] + Allocation[i,j];Finish[j] := true;go to step 2;4)若所有进程的Finish[j]=true均满足,则系统处于安全状态,否则为不安全状态银行家算法说明性实例设系统中有五个进程{P, P1, P2, P3, P4}和三类资源{A,B,C},各资源数量分别为10、5、7,在T0时刻的资源分配如下银行家算法说明性实例T0时刻的安全性:使用安全性算法对T0时刻的资源情况分析可知存在安全序列{P1, P3, P4, P2, P0},故系统安全银行家算法说明性实例设T1时刻有Request1(1,0,2),按银行家算法要求可知1)Request1(1,0,2) ≤Need1(1,2,2)2)Request1(1,0,2) ≤Available1(3,3,2)3)按P1请求尝试性分配资源后,资源变化如后表所示4)再利用安全性算法检查此时系统是否安全银行家算法说明性实例T1时刻的系统安全性:存在安全序列{P1, P3, P4, P2, P0},因此可以将P1申请的资源分配给它银行家算法说明性实例设T2时刻有Request4(3,3,0),按银行家算法要求可知1)Request4(3,3,0) ≤Need4(4,3,1)2)Request4(3,3,0) >Available1(2,3,0),P4等待银行家算法说明性实例设T时刻有Request0(0,2,0)按银行家算法要求可知31)Request0(0,2,0) ≤Need1(7,4,3)2)Request1(0,2,0) ≤Available1(2,3,0)3)按P0请求尝试性分配资源后,资源变化如后表所示4)再利用安全性算法检查此时系统是否安全银行家算法说明性实例T时刻的系统安全性:不存在安全序列,因此系统不会为它分配资源3结论安全序列并不唯一银行家算法的每一轮运算应该包括:根据进程提出的资源请求判断是否可以尝试为其分配资源、安全性检查、真正分配资源并纪录新的资源分配状态作业:将P0发出的请求向量改为Request0(0,1,0) ,系统是否可以分配资源?死锁的检测与解除使用检测和解除死锁机制的OS应♋保存资源请求和分配信息♋提供死锁检测算法回顾♋资源分配图资源分配图该图用来精确的描述死锁问题图中有一个节点集合V和一个边的集合E,其中V又分为表示系统活动进程的集合P和表示系统所有资源类型的集合R有向边P i→R j表示进程P i已经申请了资源类型R j的一个实例,并正在等待资源,称为申请边;有向边R j→P i表示资源R j的一个实例已经分配给进程P i,称为分配边资源分配图图中的方块和圆圈分别表示资源和进程,资源的实例以方块中的圆点表示资源分配图死锁定理若资源分配图中没有环出现,则不会产生进程死锁;如果有环,可能存在死锁♋若每个资源类型均只有一个实例,有环一定有死锁♋若每个资源类型有多个实例,有环并不意味着已经出现了死锁资源分配图进程P3申请资源R2,此时系统中有两个最小环,进程P1、P2、P3死锁资源分配图本图中存在环,但是没有死锁,进程P4不必等待,可以顺利执行至任务完成并释放资源,最终打破环路死锁检测算法在资源分配图中找到一个即占用资源又不阻塞的进程结点P i,当该进程顺利完成后,释放资源,图中与之相连的所有边均可消去,使之成为孤立结点寻找因获取进程P i释放出的资源而得以执行的进程,继续上一步操作,直至无法再消除若此时图中所有结点均为孤立结点,则称该图为可完全简化的,否则为不可完全简化的死锁检测算法死锁定理可表述为“当且仅当某状态的资源分配图是不可完全简化的时,才有可能产生死锁”死锁检测算法的数据结构与银行家算法类似♋Available:表示各类资源的可用数目♋L:记录不占用资源的进程死锁检测算法算法步骤♋将不占用资源的进程计入L♋从进程集合中找到一个Request≤Work的进程,将其资源分配图简化,释放出资源,i增加可用资源数量Work:=Work+Allocation i,并将该进程计入L中♋若所有的进程都计入了L,表明该图可完全简化,不会发生死锁;否则,该系统状态将发生死锁死锁检测算法的应用死锁检测算法的应用取决于两个因素♋死锁发生的频率:经常发生死锁的系统需要经常调用检测算法♋死锁影响的进程数量:参与死锁循环的进程数量可能会不断增加经常性的调用死锁检测算法会增加系统计算开销,另一个不太昂贵的方法是在一个不频繁的时间间隔中调用或由人工方式确定激活策略死锁解除检测到死锁后可以采用多种措施解除♋进程终止۩终止所有死锁进程:代价大,被终止进程的前期工作必须放弃۩一次终止一个进程直到取消死锁循环为止:系统开销大,每次终止进程时都要调用死锁检测算法确定进程是否仍处于死锁♋资源抢占۩逐步从进程中抢占资源给其他进程使用,直到死锁环被打破为止,此方法需要考虑选择最小代价牺牲品、如何回滚至安全状态、如何避免饥饿等问题教学重点知道处理机调度的分类熟练掌握常用调度算法思想及其性能评价方式知道实时调度算法掌握死锁产生的必要条件。