考虑一个具有4种资源的系统:R1(3个单元),R2(2个单元),R3(3个单元),R4(2个单元)。使用了非抢占式资源分配策略。在任何给定的情况下,如果不能完全满足请求,则不受理该请求。如果三个进程P1,P2,P3独立执行,则它们按以下方式请求源。
Process P1:
t=0: requests 2 units of R2
t=1: requests 1 unit of R3
t=3: requests 2 units of R1
t=5: releases 1 unit of R2
and 1 unit of R1.
t=7: releases 1 unit of R3
t=8: requests 2 units of R4
t=10: Finishes
Process P2:
t=0: requests 2 units of R3
t=2: requests 1 unit of R4
t=4: requests 1 unit of R1
t=6: releases 1 unit of R3
t=8: Finishes
Process P3:
t=0: requests 1 unit of R4
t=2: requests 2 units of R1
t=5: releases 2 units of R1
t=7: requests 1 unit of R2
t=8: requests 1 unit of R3
t=9: Finishes
如果所有三个进程从时间t = 0开始同时运行,则以下哪个语句为TRUE?
(A)所有过程将完成而不会出现任何死锁
(B)仅P1和P2将处于死锁状态。
(C)只有P1和P3会陷入死锁。
(D)所有三个过程都将陷入僵局答案: (A)
解释:
我们可以应用以下死锁检测算法,然后看到没有进程无限期地等待资源。请参阅此以了解死锁检测算法。
这个问题的测验