处理机调度与死锁习题课
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第三章 处理机调度与死锁
1、系统出现死锁是因为 (若干进程因竞争资源而无休止的等待着其他进程释放已占有的资源)。
2、某系统中有5个并发进程,都需要同类资源3个,试问该系统不会发生死锁的最少资源数是( 11 )。
3、发生死锁现象的原因有____竞争资源_________和____进程推进顺序非法________。 通常不采用( 从非死锁进程处抢夺资源 )方法来解除死锁。
4、某系统中有4个并发进程,都需要同类资源3个,试问该系统不会发生死锁的最少资源数是( 9 )。
5、死锁产生的4个必要条件是: 互斥 、 不可剥夺 、_____________请求和保持_________ 和环路等待条件。
6、作业在系统中存在与否的唯一标志是作业控制块
7、某计算机系统中有8台打印机,有K 个进程竞争使用,每个进程最多需要3台打印机.该系统可能会发生死锁的K 的最小值是( 4 )
8、产生系统死锁的原因可能是由于 (多个进程竞争资源出现了循环等待)
9、系统中有3个进程,每个进程需2台打印机,如果系统配有4台打印机,则系统______不可能________出现死锁的情况(本题要判断出现死锁的可能性:可能或不可能)。
10、什么是死锁产生死锁的必要条件是什么处理死锁的基本方法有哪些
答:死锁是两个或两个以上进程由于竞争资源而处于的僵持状态,在这种僵持状态下若没有外力作用,所有进程都无法正常向前推进。(
必要条件:(1)互斥条件(2)请求和保持条件(3)不剥夺条件(4)环路等待条件 处理方法:预防死锁、避免死锁、检测死锁、解除死锁。
11、死锁定理的含义是什么试简化下图进程-资源图,并利用死锁定理给出相应的结论。
答:死锁定理:当且仅当资源分配图是不可完全简化的。
R1资源有3个,R2资源有2个;P1进程:占有2个R1,申请1个R2;P2进程占有1个R1,1个R2,申请1个R1;目前系统只有一个R2空闲;P1是一个既不孤立又不阻塞的进程,消去P1的边,有2个R1,1个R2空闲,能满足P2申请,使P2成为既不孤立又不阻塞的进程,所以消去P2的边,由死锁定理知,不会产生死锁。
R1
R2
12、4个进程的提交、运行时间如下表所示。若采用(1)先来先服务算法;(2)最高响应比优先调度算法,试求出进程的执行顺序,进程的开始时间、完成时间、周转时间及进程的平均周转时间。
平均周转时间=(2+++)/4=(1分)
a. P2响应比=1+/= P3响应比=1+()/=15
P4响应比=1+(10-9)/=6
因为P3响应比最高,所以执行进程3;
响应比=1+ P4响应比=1+/=
因为P2响应比最高,所以执行进程2;(2分)
平均周转时间=(+++)/4= (1分)
13、设系统中有3中类型的资源(A,B,C)和5个进程P1、P2、P3、P4、P5,A类资源的数目为17,B类资源的数目为5,C类资源的数目为20。在T0时刻系统状态如下表所示。系统采用银行家算法实施死锁避免策略。3分3分
(1)T0时刻是否为安全状态若是,给出安全序列。
(2)若在T0时刻进程P2请求资源(0,3,4),是否能实施资源分配为什么
解答:1)由题目所给出的最大资源需求量和已分配的资源数量,可以计算出T0时刻各进程的资源需求量Need,Need=Max-Allocation,利用银行家算法对T0时刻的资源分配情况进行分析,可得此时的安全性分析情况,如下表:
从T0的安全性分析中可以看出,存在一个安全序列{ P5、P4、P3、P2、P1},故T0时刻的状态是安全的。(8分)
(2)若在T0时刻进程P2请求资源(0,3,4),因请求资源数(0,3,4)大于剩余资源数(2,3,3),所以不能分配。(2分)
14、若系统运行中出现如下表所示的资源分配情况,该系统是否安全若是,给出安全序列;如果进程P2此时提出资源申请(1,2,2,2),系统能否将资源分配给它为什么
答:(1)利用安全性算法对此刻的资源分配情况进行如下表的安全性检:
从表中可以看出,此时存在一个安全序列{P0,P3,P4,P1,P2},故系统是安全的。(7分)
(2)P2请求资源(1,2,2,2)<= P2需求资源(2,3,5,6)&<=剩余资源数(1,6,
不能将资源分配给P2。
15、系统中有四个进程{ P0 , P1 , P2 , P3 }和三类资源{A , B , C},各种资源的数量分别为10,5,5,在T0时刻的资源分配情况如图所示,且已知T0时刻处于安全状态。在T1时刻,如果进程P1发出请求向量Request1(1,0,2),试用银行家算法说明系统能否将资源分配给它
答:进程P1发出请求向量Request1(1,0,2),系统按银行家算法进行检查:
(1)Request1(1,0,2)≤Need1(1,2,2);(1分)
(2)Request1(1,0,2)≤Available(3,3,2);(1分)
(3)系统先假定可为P1分配资源,并修改Available1,Allocation,Need1向量,由此形成的资源变化情况如表所示:
(3分)
有所进行的安全性检查得知,可以找到一个安全序列{ P1 , P3 , P0 , P2 , }。因此系统是安全的,可以立即将P1所申请的资源分配给它。