考虑具有 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 开始并发运行,以下哪一项是正确的?
(A)所有进程都将完成而不会出现任何死锁
(B)只有 P1 和 P2 会陷入僵局。
(C)只有 P1 和 P3 会陷入僵局。
(D)三个进程都会陷入死锁答案:(一)
解释:
我们可以应用以下死锁检测算法,并看到没有进程无限期地等待资源。有关死锁检测算法,请参阅此内容。
这个问题的测验