第三章 处理机调度与死锁习题课
- 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、死锁定理的含义是什么?试简化下图进程-资源图,并利用死锁定理给出相应的结论。
P1
R1 R2
P2
答:死锁定理:当且仅当资源分配图是不可完全简化的。
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的边,由死锁定理知,不会产生死锁。
12、4个进程的提交、运行时间如下表所示。若采用(1)先来先服务算法;(2)最高响应
比优先调度算法,试求出进程的执行顺序,进程的开始时间、完成时间、周转时间及进程的平均周转时间。
进程的提交与运行时间表(十进制)
进程提交时间运行时间
P1 8.0 2.0
P2 8.4 0.3
P3 8.6 0.1
P4 9.0 0.2
答:(1)先来先服务算法
进程提交时间运行时间开始时间完成时间周转时间P1 8.0 2.0 8.0 10.0 2.0 P2 8.4 0.3 10.0 10.3 1.9 P3 8.6 0.1 10.3 10.4 1.8 P4 9.0 0.2 10.4 10.6 1.6 平均周转时间=(2+1.9+1.8+1.6)/4=1.825(1分)
(2)最高响应比优先调度算法
进程提交时间运行时间开始时间完成时间周转时间P1 8.0 2.0 8.0 10.0 2.0 P2 8.4 0.3 10.1 10.4 2.0 P3 8.6 0.1 10.0 10.1 1.5
P4 9.0 0.2 10.4 10.6 1.6 a. P2响应比=1+(10-8.4)/0.3=6.3 P3响应比=1+(10-8.6)/0.1=15
P4响应比=1+(10-9)/0.2=6
因为P3响应比最高,所以执行进程3;
b.P2响应比=1+(10.1-8.4)/0.3=6.7 P4响应比=1+(10.1-9)/0.2=6.5
因为P2响应比最高,所以执行进程2;(2分)
平均周转时间=(2.0+2.0+1.5+1.6)/4=1.775 (1分)
13、设系统中有3中类型的资源(A,B,C)和5个进程P1、P2、P3、P4、P5,A类资源的数
目为17,B类资源的数目为5,C类资源的数目为20。在T
时刻系统状态如下表所示。系统采用银行家算法实施死锁避免策略。3分3分
资源情况 进程
Max
A B C Allocation A B C Available A B C
P1 5 5 9 2 1 2 2 3 3
P2 5 3 6 4 0 2 P3 4 0 11 4 0 5 P4 4 2 5 2 0 4 P5
4 2 4
3 0 4
(1)T 0时刻是否为安全状态?若是,给出安全序列。
(2)若在T 0时刻进程P2请求资源(0,3,4),是否能实施资源分配?为什么?
解答:1)由题目所给出的最大资源需求量和已分配的资源数量,可以计算出T0时刻各进程的资源需求量Need ,Need =Max-Allocation ,利用银行家算法对T0时刻的资源分配情况进行分析,可得此时的安全性分析情况,如下表:
Work A B C
Need A B C Allocation A B C Work+Allocation
A B C Fin ish P5 2 3 3 1 1 0 3 1 4 5 4 7 T P4 5 4 7 2 2 1 2 0 4 7 4 11 T P3 7 4 11 0 0 6 4 0 5 11 4 16 T P2 11 4 16 1 3 4 4 0 2 15 4 18 T P1
15 4 18
3 4 7
2 1 2
17 5 20
T
从T 0的安全性分析中可以看出,存在一个安全序列{ P5、P4、P3、P2、P1},故T 0时刻的状态是安全的。(8分)
(2)若在T 0时刻进程P2请求资源(0,3,4),因请求资源数(0,3,4)大于剩余资源数(2,3, 3),所以不能分配。(2分)
14、若系统运行中出现如下表所示的资源分配情况,该系统是否安全?若是,给出安全序列;如果进程P2此时提出资源申请(1,2,2,2),系统能否将资源分配给它?为什么?
Allocation (已分配资源数)
Need (还需要资源数) Available (系统可以分配资源数) P0 0 0 3 2 0 0 1 2 1 6 2 2
P1 1 0 0 0 1 7 5 0 P2 1 3 5 4 2 3 5 6 P3 0 3 3 2 0 6 5 2 P4
0 0 1 4
0 6 5 6
进程
资源情况
进程
资源情况