在如下所示进程资源图中,()。
解答本题首先需要了解图所代表含义。在图中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是非阻塞点









