第4章 调度与死锁 复习题
计算机操作系统习题3-调度与死锁

P(S1)
13
V(S2)
23
V(S1)
14
V(S1)
24
V(S2)
(1)试分析各种推进速度可能引起的情况;(2)用产生死锁的必 要条件解释产生死锁和不产生死锁原因。
2、考虑如下交通死锁问题:
(1)试说明产生死锁的四个必要条件在此例中均成立;(2)请建 立一种规则,以避免死锁的发生。
进程 到到就绪队列时刻 执行时间(ms) 优先数
P1
0
3
3
P2
2
6
5
P3
4
4
1
P4
6
5
2
P5
8
2
4
(1)FCFS调度算法;(2)时间片轮转调度算法(时间片为 1ms);(3)剥夺式短进程优先调度算法;(4)剥夺式优先级调度算 法;(5)非剥夺式优先级调度算法。
2、在银行家算法中,有下表所示资源分配情况:
A、进程优先权 B、时间片大小 C、进程的推进顺序 D、分配队列优先权
9、为了系统中各部分资源得到均衡使用,以提高系统的效率,就必 须选择对资源需求不同的作业进行合理搭配。这项工作是由( )完 成的。
A、作业调度 B、中级调度 C、进程调度 D、内存调度
10、既考虑作业等待时间,又考虑作业完成时间的调度算法是 ( )
13、一个作业进入主存后,所属该作业的进程初始时处于( ) 状态。 A、运行 B、等待 C、就绪 D、后备
14、作业周转时间为( ) A、作业开始时间-作业提交时间 B、作业等待时间+作业运行 时间 C、作业等待时间 D、作业运行时间
15、按序分配资源是为了( ) A、死锁的检测 B、死锁的预防 C、死锁的避免 D、死锁 的解除
处理机调度与死锁习题

处理机调度与死锁习题处理机调度与死锁1.进程调度的两种基本方式:和2.处理机调度分为三级,分别是:,,3.在抢占调度方式中,抢占的原则有,,4.对于批处理作业的调度,一次可以从后备作业中选择个作业进入主存储器(A)一个 (B)一个或一个以上 (C)全部 (D)都不是5. 在分时系统控制下,对终端用户采用方法占用CPU(A)时间片轮转 (B) 轮流使用计算机(C) 每人一机 (D) 人-机对话6. 常用的批处理进程的调度算法有,,7. 在操作系统中,死锁出现指的是:(A)计算机发生重大故障(B)资源数远远少于进程数(C)若干进程因竞争资源而无限等待其他进程释放已占有的资源(D)进程同时申请的资源数超过资源总数8. 死锁产生的基本原因有:,9. 某系统有3个并发进程,都需要同类资源4个,试问该系统不会发生死锁的最少资源数是10. 预防死锁的预先分配法和资源有序分配法,它们分别破坏了产生死锁的必要条件中的和11.银行家算法在解决死锁问题中是用于的(A)预防死锁(B)避免死锁(C)检测死锁(D)解除死锁12.优先权是创建进程时确定,确定之后就不再发生改变的(A)先来先服务(B)静态(C)动态(D)短作业13.某系统中有11台打印机,N个进程共享该资源,每个进程要求3台。
当N的取值不超过时,系统不会发生死锁。
(A)4 (B)6 (C)5 (D)714.银行家算法中,当一个进程提出的资源请求将导致系统从进入时,系统就拒绝该资源分配请求15.进程调度算法采用时间片轮转法,时间片过大时,就会使轮转法转化为调度算法。
16.现有3个同时到达的作业J1,J2,J3,他们的执行时间分别为T1,T2,T3,且T1<t2<t3。
系统按单道方式运行且采用短作业优先的算法,则平均周转时间是< p="">17.既考虑作业等待时间又考虑作业执行时间的调度算法是(A)响应比高者优先(B)短作业优先(C)优先级调度(D)先来先服务18.某进程被唤醒后立即投入运行,我们就说这个系统采用的是剥夺式调度算法,对吗?为什么?19.产生死锁的必要条件是什么?常用的解决死锁的措施有哪些?20. 设有3道作业job1,job2,job3,提交时间分别为8,8.2,8.4,执行时间分别为2,1,0.5,则按FCFS算法和SJF的平均周转时间分别为多少?21.有5个批处理作业(A,B,C,D,E)几乎同时到达,估计的运行时间分别为2,4,6,8,10,它们的优先数分别为1,2,3,4,5(1为低优先数),对下面的每种调度算法,分别计算作业的平均周转时间。
计算机操作系统第4章-调度与死锁精品PPT课件

2021/1/31
11
4.1 调度的类型和模型
从不同的角度进行分类,常用分类方法是按调 度的层次,把调度分为高级、中级和低级调度; 另一种分类是按OS的类型分类,调度分为批处理 调度、分时调度和实时调度及多处理机调度。
4.1.1 调度类型
作业从进入系统并驻留在外存的后备队列上开 始,直至作业运行完毕,要经历下述三级调度。
一个作业的各个作业步之间是有联系的,上一个作 业步的输出是下一下作业步的输入。
2、作业控制块
创建一个进程时,要开辟一个进程控制块PCB,随时 记录进程的信息。把一个作业提交给系统时,也要开 辟一个作业控制块JCB,随时记录作业的信息。
2021/1/31
5
作业控制块的内容
用户名
作业名
作业类别
作业现行状态
(2)后备状态(收容状态):系统收到其全部信 息,为其建立JCB,形成后备作业队列, 系统能感知到它的存在。
2021/1/31
8
(3)运行状态:由作业调度进入了进程调度 阶段。
(4)完成状态:作业运行结束后的一个状态, 是一个暂时性状态。
2021/1/31
9
Windows 2000/XP中的作业是共享一组配额限 度和安全性限制的进程集合;进程是内存资源 分配和打开文件个数的基本单位;线程是操作 系统调度处理器的执行单位。
作业调度发生在一个作业运行完毕,退出系 统时又要重新调入一个作业进入内存时,调度的 周期长,其调度算法花费较多的时间。
是指任何时间,不管进程处于用户 态还是核心态,都可以随时被更高优先 级的进程抢用CPU。
2021/1/31
19
(1)完全不可抢先或用户态不可抢先:当前进程不 论在用户态或核心态时,都不可以被抢用CPU, 这种操作系统称为不可抢先式的操作系统。如: windows 98和windows 95
操作系统原理-第四章处理机调度知识点及习题

第四章处理机调度与死锁4.1 知识点汇总1、处理机调度级别⑴调度:选出待分派的作业或进程⑵处理机调度:分配处理机⑶三级调度:高级调度(作业调度)、中级调度(内存对换)、低级调度(进程调度)2、作业状态⑴作业状态分为四种:提交、后备、执行和完成。
⑵作业状态变迁图:图4-1 作业状态及变迁3、作业调度和调度的功能⑴. 作业调度的任务后备状态→执行状态执行状态→完成状态⑵作业调度的功能①记录系统中各个作业的情况②按照某种调度算法从后备作业队列中挑选作业③为选中的作业分配内存和外设等资源④为选中的作业建立相应的进程⑤作业结束后进行善后处理工作4、进程调度和调度的功能1). 进程调度:后备状态→执行状态2). 进程调度时机:任务完成后、等待资源时、运行到时了、发现重调标志3). 进程调度的功能:保存现场、挑选进程、恢复现场5、两级调度模型 作业调度和进程调度的区别6、评价调度算法的指标调度性能评价准则:CPU利用率、吞吐量、周转时间、就绪等待时间和响应时间(1)吞吐量:单位时间内CPU完成作业的数量(2)周转时间:1) 周转时间=完成时刻-提交时刻2) 平均周转时间=周转时间/n3) 带权周转时间=周转时间/实际运行时间4) 平均带权周转时间=带权周转时间/n7、作业与进程调度算法(1)先来先服务(FCFS)调度算法的实现思想:按作业(进程)到来的先后次序进行调度,即先来的先得到运行。
用于作业调度:从作业对列(按时间先后为序)中选择队头的一个或几个作业运行。
用于进程调度:从就绪队列中选择一个最先进入该队列的进程投入运行。
例如设有三个作业,编号为1,2,3。
各作业分别对应一个进程。
各作业依次到达,相差一个时间单位。
①图示出采用FCFS方式调度时这三个作业的执行顺序②算出各作业的周转时间和带权周转时间(2)时间片轮转(RR)调度算法的实现思想:系统把所有就绪进程按先进先出的原则排成一个队列。
新来的进程加到就绪队列末尾。
4.10死锁习题

【例】多个进程竞争比进程数目少的资源分 配情况进行安全分析,如果该时刻状态是 安全的,则存在一个安全序列,且这个安 全序列是唯一的。
【解答】错误
系统在调用银行家算法进行安全检查时,只 要找到一个安全序列就可断定系统是安全 的。但安全序列可能不止一个。
【例】当由于为进程分配资源而使系统处于 不安全状态时,系统一定会导致死锁
A 资源独占 B 资源共享 C 进程并发 D 预防死锁 【答案】D
【例】在银行家算法的数据结构中,其中最 大需求矩阵Max,分配矩阵Allocation和需求 矩阵Need三者之间的关系是( )
A Need[i,j]=Allocation[i,j]-Max[i,j]
B Need[i,j]=Max[i,j]+Allocation[i,j]
C Need[i,j]=Max[i,j]-Allocation[i,j]
D Need[i,j]=Max[i,j]*Allocation[i,j] 【答案】C
【例】系统死锁可利用( )来描述。 A 进程 B 程序 C 系统流程图 D 资源分配图 【答案】D
【例】按序分配资源是为了( ) A 死锁的检测 B 死锁的防止 C 死锁的避免 D 死锁的解除 【答案】B
B 矩阵框表示进程,其中的原点表示申请同 一类资源的各个进程
C 圆圈结点表示资源类
D 资源分配图是一个有向图,用于表示某时 刻系统资源与进程之间的状态
【答案】D
【例】死锁的4个必要条件中,无法破坏的是 ()
A 环路等待资源 B 互斥使用资源 C 占有且等待资源 D 非抢夺式分配 【答案】B
【例】采用“按序分配”策略,可以破坏死 锁产生的条件是()
进程
可用资源数
第4章 操作系统调度与死锁

一. 调度类型与准则
1. 什么是调度?
操作系统创建、销毁进程的动作 操作系统调度 CPU分时运行各进程中的指令的动作 操作系统阻塞、挂起进程的动作
2. 调度的类型
长程调度:创建或销毁进程。(作业调度) 中程调度:挂起和调入进程。(进程调度) 短程调度:调度进程,交给 CPU运行。(进程调度)
进程12 进程27
3. 时间片轮转Round Robin (可剥夺方式 preemptive Mode)
多个任务被创建为进程后,分时运行各个进程。 (一个进程运行指定的时间,操作系统暂停其运行,调度 CPU运行下一
个进程)
4. 优先权Priority调度算法 (可剥夺方式 preemptive Mode)
内存:(4G)
Operating System
PCB1 PCB2
PCB3 PCBn
进程12 进程27 进程15 进程6 进程32 进程27 进程 n
一. 调度类型与准则
内存:(4G)
Operating System
PCB1
3. 调度的性能准则(p105)
PCB2 PCB3
1)响应时间 Tresponse:用户提交一个任务请求,到用户感受到了机器系
PCB1 PCB2
PCB3 PCBn
占用 临界资源 1 占用 临界资源 2
占用 临界资源 3
(阻塞) 进程12 进程27 进程15 进程6 进程32 进程27 进程 n
三. 死锁问题
1. 什么是死锁问题
多个进程各自占有部分资源,无法得到所需 的全部资源,以完成任务并释放资源,形成 了资源争用互锁状态。
二. 调度算法
内存:(4G)
西安电子科技大学2021年《计算机操作系统》调度与死锁期末试题及答案
1 选择题1.预防死锁不可以去掉以下______条件。
A.互斥B.请求与保持C.不可剥夺D.环路2.资源分配图是不可以完全简化的是判断死锁的_____。
A.充分条件B.必要条件C.充分必要条件D.什么也不是3.设有4个作业同时到达,每个作业的执行时间是2min,它们在一台处理机上按单键方式运行,则平均周转时间为______。
A.1minB.5minC.2.5minD.8min4.若系统中有8台绘图仪,有多个进程均需要使用两台,规定每个进程一次仅允许申请一台,则至多允许多少个进程参与竞争,而不会发生死锁。
A.5B.6C.7D.85.响应比高者优先作业调度算法除了考虑进程在CPU上的运行时间,还考虑以下_____因素。
A.输入时间B.完成时间C.周转时间D.等待时间6.设有三个作业J1,J2,J3,它们的到达时间和执行时间如表15-12所示。
它们在一台处理机上按单道运行并采用短作业优先调度算法,则三个作业的执行次序是______。
A.J1,J2,J3B.J2,J3,J1C.J3,J2,J1D.J2,J1,J37.设有12个同类资源可供四个进程共享,资源分配情况如表15-13所示。
表15-13 资源分配表目前剩余资源数为2。
当进程P1、P2、P3、P4又都相继提出申请要求,为使系统不致死锁,应先满足_____进程的要求。
A.P1B.P2C.P3D.P48.产生系统死锁的原因可能是______。
A.一个进程进入死循环B.多个进程竞争资源出现了循环等待C.进程释放资源D.多个进程竞争共享型设备9.以下______方法可以解除死锁。
A.挂起进程B.剥夺资源C.提高进程优先级D.降低进程优先级10.采用有序分配资源的策略可以破坏产生死锁的_______。
A.互斥条件B.请求与保持条件C.不可剥夺条件D.环路条件11.预防死锁可以从破坏死锁的四个必要条件入手,但破坏_____不太可能。
A.互斥条件B.请求与保持条件C.不可剥夺条件D.环路条件12.以下解决死锁的方法中,属于预防策略的是_______。
操作系统原理-第四章 处理机调度(有答案)
第四章处理机调度4.3 习题4.3.1 选择最合适的答案1.某系统采用了银行家算法,则下列叙述正确的是()。
A.系统处于不安全状态时一定会发生死锁B.系统处于不安全状态时可能会发生死锁C.系统处于安全状态时可能会发生死锁D.系统处于安全状态时一定会发生死锁2.银行家算法中的数据结构包括有可利用资源向量Available、最大需求矩阵Max、分配矩阵Allocation、需求矩阵Need,下列选项正确的是()。
A.Max[i,j]=Allocation[i,j]+Need[i,j]B.Need[i,j]= Allocation[i,j]+ Max[i,j]C.Max[i,j]= Available[i,j]+Need[i,j]D.Need[i,j]= Available[i,j]+ Max[i,j]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.资源静态分配法可以预防死锁的发生,它们使死锁四个条件中的()不成立。
第4章 调度与死锁
▪ 进程类型:系统,用户 ▪ 进程对资源的需求:执行时间,资源数量 ▪ 用户要求:紧迫程度
特点:简单易行,系统开销小,但不精确。
0
运行 时间
8
开始 时间
0
完成 时间
17
周转 带权周 时间 转时间
17 2.125
B
1
4
1
5
4
1
C
2
9
17
26
24
2.67
D
3
5
5
10
7
1.4
平均周转时间 T=(17+4+24+7)/4=13 平均带权周转时间 W=(2.125+1+2.67+1.4)/4=1.8
最短平均周转时间
当一批作业同时到达时,最短作业优先调 度算法才能获得最短平均周转时间。
最短剩余时间优先调度算法
最短进程优先调度算法可以是非抢占式的, 也可以是抢占式的。若无特别说明,通常 是指非抢占式的算法。
抢占式的最短进程优先调度算法也称为最 短剩余时间优先调度算法(shortest-remaining -time-first),即当一个新进程进入就绪队列 时,若其需要的运行时间比当前运行进程 的剩余时间短,则它将抢占CPU。
作业名、作业状态
记录作业的标识信息及作业的当前状态。
4.3 进程调度-4.3.1 进程调度的功能
进程调度程序主要完成以下功能:
记录系统中所有进程的状态、优先数和资源 情况。
选择获得处理机的进程。 实施处理机的分配及回收。
引起进程调度的原因
正在运行进程结束 运行进程因某种原因阻塞,如P操作、I/O
从用户提交请求到系统首次产生响应所用的 时间。
周转时间 Turnaround time
操作系统第四讲之调度习题课
•非抢占调度策略不适用于分时系统,因 非抢占调度策略不适用于分时系统, 非抢占调度策略不适用于分时系统 为它不能保证每个用户在固定的时间间隔 内共享CPU CPU。 内共享CPU。非抢占调度策略允许程序无 限期地运行下去, 限期地运行下去,这样就延误了其他已提 交作业的轮转时间(响应时间)。 交作业的轮转时间(响应时间)。
实时系统通常采用抢占式调度。 5 、 实时系统通常采用抢占式调度 。 对 ( ) 6 、 抢占是指引起一个进程暂时停 以便运行另一个进程。 止,以便运行另一个进程。( 对 )
三、判断题
7 、 中程调度决定哪些作业可参与 竞争CPU CPU。 竞争CPU。( ) 错 RR算法性能依赖于时间片的大 8 、 RR 算法性能依赖于时间片的大 FCFS算法 小 , 时间片过大则退化为 FCFS 算法 。 ( 对 )
三、应用题 【1】 假定要在一台处理机上执行下表所列作 且假定这些作业到达的次序是1 业:且假定这些作业到达的次序是1,2,3,4, 5。 给出Gantt图来说明分别使用FCFS, Gantt图来说明分别使用 (1)给出Gantt图来说明分别使用FCFS, RR 时间片=1),SJF =1),SJF以及非抢占优先调度算法时 (时间片=1),SJF以及非抢占优先调度算法时 这些作业的执行情况; 这些作业的执行情况;
SJF调度算法具有最小平均等待时 (4)SJF调度算法具有最小平均等待时 间。 结论: 结论: 在非抢占式调度算法中,SPN或 在非抢占式调度算法中,SPN或 SJF(最短进程优先) SJF(最短进程优先)具有最小平均等 待时间。 待时间。
【2】 假定待处理的三个作业的到达时间和运 行时间如下表所示:若采用下列调度算法, 行时间如下表所示:若采用下列调度算法,则 这些作业的平均轮转时间是多少? 这些作业的平均轮转时间是多少? FCFS。 SJF。 (1)FCFS。 (2)SJF。 作业 1 2 3 到达时间/S 到达时间 0.0 0.4 1.0 执行时间/S 执行时间 8 4 1
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
15、 15、
假设系统中有m个同类资源,并被n 假设系统中有m个同类资源,并被n个进程所 共享,进程每次只申请或释放一个资源, 共享,进程每次只申请或释放一个资源,如果 (1)每个进程至少需要一个资源 每个进程至少需要一个资源, (1)每个进程至少需要一个资源,且最多不超过 个资源,即对i=1 i=1, 0<Need<=m。 m个资源,即对i=1,2,…,n,有0<Need<=m。 (2)所有最大需求量之和小于m+n。 所有最大需求量之和小于m+n (2)所有最大需求量之和小于m+n。 证明该系统不会发生死锁。 证明该系统不会发生死锁。
P0 P1 P2 P3 P4 0012 1000 1354 0632 0014 0012 1750 2356 0652 0656 1520 进程 Allocation Max Available
18(解) 18(
(1)由于Need:Max-Allocation,所以Need的内 由于Need:Max-Allocation,所以Need的内 容是: 0000 0750 1002 0020 0642 (2)是处于安全态,序列(P0,P2,P1,P3,P4) 是处于安全态,序列( 满足安全性要求。 满足安全性要求。 (3)能立即得到满足,因为 能立即得到满足, ①(0420)<=Available=(1520) 0420)<=Available=(1520) ②(0420)<=Maxi=(1750) 0420)<=Max =(1750) ③ 分配后的新系统状态如下表所示 , 且序列 分配后的新系统状态如下表所示, (P0,P2,P1,P3,P4)满足安全性要求。 满足安全性要求。
5、产生死锁的原因是什么? 产生死锁的原因是什么?
答:产生死锁的原因可归结为两点: (1)系统资源不足。(2)进程推进顺序不 )系统资源不足。(2 当。
6、产生死锁的必要条件 有哪些? 有哪些?
答:同时具备下列四个必要条件时,就会产生死锁
1、互斥( Mutual exclusion )条件:一个资源一次只能 条件: 互斥( 被一个进程所使用,即是排它性使用。 2、不剥夺( No preemption )条件:进程已经获得的资 不剥夺( 条件: 源,在未使用完以前,不能被别的进程剥夺,只能在使用 完以后,由自己释放。 3、请求和保持( Hold-and-wait )条件:进程已经保持 请求和保持( Hold-and条件:进程已经保持 了至少一个资源,但又提出了新的资源要求,而该资源又 已被其它进程占有,此时请求进程阻塞,但又对已经获得 的其它资源保持不放。 4、环路等待( Circular wait )条件:存在一种进程资源 环路等待( 条件: 的循环等待链,链中的每一个进程已经获得资源的同时被 链中的下一个进程所请求。
R1 R2
P2
13、解除死锁的常用方法有那些? 13、解除死锁的常用方法有那些?
答:当发现有进程死锁时,使当立即把它们从死锁
状态中解脱出来,常采用的两种方法是: (1)剥夺资源。是使用一个有效的挂起和解除机构来挂
起一些死锁的进程,其实质是从被挂起的进程那里抢占资 起一些死锁的进程,其实质是从 源给死锁进程,以解除死锁状态。 (2)撤消进程。采用强制手段从系统中撤消一个或一部 分死锁进程,以断开循环等待链 分死锁进程,以断开循环等待链,并剥夺这些进程的资源 供其他死锁进程使用。
第四章 调度与死锁 复习思考题
1、分时操作系统中,进程调度 通常采用什么算法? 通常采用什么算法?
答:分时操作系统通常采用时间片轮转 答:分时操作系统通常采用时间片轮转 法的调度算法。
2、一个作业从提交开始直到完成,
往往要经历哪几级调度?
答:要经历下述三级调度:高级调度、 低级调度、中级调度。
3、说出四种常用的调度算法
alloc(1 alloc(2)+..+ alloc(1)+ alloc(2)+..+ alloc(n) = m
另一方面所有进程将陷入无限等待状态。 另一方面所有进程将陷入无限等待状态。上述两式得知
need(1)+need(2)+...+need(n)< need(1)+need(2)+...+need(n)< n
上式表示死锁发生后, 上式表示死锁发生后,n个进程还需要的资源量之和小 这意味着此刻至少存在一个进程, need(i)=0 于n,这意味着此刻至少存在一个进程, need(i)=0, 即它已经获得全部的资源。 即它已经获得全部的资源 。 既然进程已经获得了它所 需要的全部资源, 需要的全部资源 , 那么它就能执行完成并释放占有的 全部资源,这与前面的假设矛盾, 全部资源 , 这与前面的假设矛盾 , 所以系统不会出现 死锁。 死锁。
答:常用的调度算法有: (1)先来先服务调度算法 (2)(进程)优先级调度算法 (3)时间片轮转调度算法 (4)多级反馈队列调度算法
4、什么是死锁?
答:所谓死锁(Deadlock),是指多个 答:所谓死锁(Deadlock),是指多个 进程因竞争资源而造成的一种僵局, 若无外力作用,这些进程都将永远不 能再向前推进。死锁是计算机系统和 进程所处的一种状态。
14、 14、
假设三个进程共享相同类型的四个资源,每个进 假设三个进程共享相同类型的四个资源, 程一次只能申请或释放一个资源, 程一次只能申请或释放一个资源,每个进程至多 需要两个资源,证明该系统不会发生死锁。 需要两个资源,证明该系统不会发生死锁。 证: 假定该系统死锁, 假定该系统死锁 , 那么就说明其中的每一进程已 占有一资源并正等待另一资源。 占有一资源并正等待另一资源 。 由于该系统只有 三个进程且有四个资源, 因此 , 三个进程且有四个资源 , 因此, 必有一进程能获 得两个资源, 不必等待 。 得两个资源 , 不必等待。 于是该进程不再申请资 源 , 而且当它执行完后将归还它占有的资源。 故 而且当它执行完后将归还它占有的资源 。 该系统不会发生死锁。 该系统不会发生死锁。
12、你如何理解资源分配图简化法中 12、你如何理解资源分配图简化法中 “找出—个既不阻塞又非独立的进程 找出— 结点Pi 结点Pi ”这句话。
答:
—个既不阻塞又非独立的进程结点Pi ,也就是从进程 个既不阻塞又非独立的进程结点Pi 集合中找到一个有边与它相连,且资源申请数量小于系统 中已有空闲资源数量的进程Pi 中已有空闲资源数量的进程Pi 。如下图: P1
问题?
答:银行家算法最根本是一种能够避免 死锁的调度方法。
9、当进程数大于资源数时,进 程竞争资源一定会发生死锁吗?
答:不一定。
10、下列解决死锁的方法中,属 10、下列解决死锁的方法中,属 于死锁预防策略的哪一个?
A. 银行家算法 C. 死锁检测法 答:B 答:B B. 资源有序分配法 D. 资源分配图化简法
11、某系统有3个并发进程,都需要同 11、某系统有3 类资源4 类资源4个,试问该系统不会发生死锁的 最少资源数是多少? 答:最少要10个。 答:最少要10个。 由于各进程最大需求量之和要小于“ 由于各进程最大需求量之和要小于“进 程数+资源数” 程数+资源数” 3+x>12 X>9 所以最少要10个资源。 所以最少要10个资源。
18、 18、
考虑下表所示的系统瞬时状态,利用banker算法回答下面的问 考虑下表所示的系统瞬时状态,利用banker算法回答下面的问 题: (1)数组Need的内容是什么? 数组Need的内容是什么? (2)该系统处于安全态吗?若是,给出一安全序列。 该系统处于安全态吗?若是,给出一安全序列。 (3)若进程P1的请求(0420)到达,该请求是否能立即满足? 若进程P 的请求(0420)到达,该请求是否能立即满足?
来破坏产生死锁的必要条件,而是在进程执行过程中采取 破坏产生死锁的必要条件,而是在进程 的措施,在进程申请资源时用某种方法去防止系统进入不 安全状态,从而避免发生死锁。 (如银行家算法)。
3.检测和解除死锁:通过系统的检测机构及时地检 检测和解除死锁:
测出死锁的发生,然后采取某种措施解除死锁。
8、银行家算法最根本是要解决什么
16(续) 16(续)
解
(1)任何时候都不会引起死锁发生: (2) 仅当每一进程的Max请求数不超过可用资源的总数时, 仅当每一进程的Max 请求数不超过可用资源的总数时, 系统才保持在安全态: (3) 仅当每一进程的Max请求数不超过可用资源的总数时, 仅当每一进程的Max 请求数不超过可用资源的总数时, 系统才保持在安全态; (4)任何时候都不会引起死锁发生; (5)任何时候都不会引起死锁发生: (6)任何时候都不会引起死锁发生。 任何时候都不会引起死锁发生。
15(续) 15(续) 证: 依题意 max(1)+max(2)+...+max(n)< max(1)+max(2)+...+max(n)< m+n (由条件(2)知) 由条件(
如果这个系统中发生了死锁,那么一方面m 如果这个系统中发生了死锁,那么一方面m个资源应该 全部分配出去, 全部分配出去,即
17、 17、 考虑下图所示的交通死锁情况。 考虑下图所示的交通死锁情况。
(1)说明图中导致死锁的四个必要条件成立。 说明图中导致死锁的四个必要条件成立。 (2)提出一个避免死锁的规则。 提出一个避免死锁的规则。
交通死锁图
ቤተ መጻሕፍቲ ባይዱ
17(续) 17(续)
解 (1)此例中导致死锁的四个条件成立: ①互斥。每条道路只能被一辆车占用。 互斥。每条道路只能被一辆车占用。 ② 占用并等待 . 每辆车都占用了一段道路, 并等待其 占用并等待. 每辆车都占用了一段道路 , 前方的道路被释放。 前方的道路被释放。 ③ 非抢占 。 资源不可抢占 。 单行线, 汽车不能抢路超 非抢占。 资源不可抢占。 单行线 , 车。 ④ 循环等待 。 每辆车都等待着前方的汽车把路让出来 , 循环等待。 每辆车都等待着前方的汽车把路让出来, 且形成了一个环路。 且形成了一个环路。 (2)在每个十字路口设置红绿灯,当南北方向的路通车 在每个十字路口设置红绿灯, 时,东西方向的路上汽车等待.反之亦然。 东西方向的路上汽车等待.反之亦然。