在如下所示的进程资源图中( ) A.P1、P2、P3都是非阻塞节点,该图可以化

题库2022-08-02  48

问题 在如下所示的进程资源图中( )A.P1、P2、P3都是非阻塞节点,该图可以化简,所以是非死锁的B.P1、P2、P3都是阻塞节点,该图不可以化简,所以是死锁的C.P1、P2是非阻塞节点,P3是阻塞节点,该图不可以化简,所以是死锁的D.P2是阻塞节点,P1、P3是非阻塞节点,该图可以化简,所以是非死锁的

选项 A.P1、P2、P3都是非阻塞节点,该图可以化简,所以是非死锁的
B.P1、P2、P3都是阻塞节点,该图不可以化简,所以是死锁的
C.P1、P2是非阻塞节点,P3是阻塞节点,该图不可以化简,所以是死锁的
D.P2是阻塞节点,P1、P3是非阻塞节点,该图可以化简,所以是非死锁的

答案 D

解析 解答本题首先需要了解图所代表的含义。在图中R1与R2代表的是资源,P1-P3代表进程。从资源指向进程的箭头代表有资源分配给了进程,而从进程指向资源的箭头代表进程要申请这个资源(注:每个箭头只代表一个资源或资源请求)。例如:R1一共有2个资源,并将这2个资源中的1个分给了P1,另1个分给了P3,P2此时向R1申请1个资源。

下面开始分析阻塞点,所谓阻塞点就是从这个进程开始执行,会让程序陷入死锁,执行不了。

1、尝试先执行P1:P1向R2申请1个资源, R2一共3个资源,已分配了2个,还剩余1个,所以他能满足P1的申请,给P1分配资源。P1分配到资源之后可以执行完毕,并释放自己占用的所有资源。接下来的P2与P3都能执行完毕,所以P1是非阻塞点。

2、尝试先执行P2:P2向R1申请1个资源,R1一共2个资源,并全部分配出去了,所以目前P2的资源申请无法被满足,既然无法被满足,自然不能执行,也就是阻塞点了。

3、尝试先执行P3:P3向R2申请1个资源, R2一共3个资源,已分配了2个,还剩余1个,所以他能满足P3的申请,给P3分配资源。P3分配到资源之后可以执行完毕,并释放自己占用的所有资源。接下来的P1与P2都能执行完毕,所以P3是非阻塞点
转载请注明原文地址:https://tihaiku.com/congyezige/2407715.html

最新回复(0)