(2016.25)系统中有三个不同的临界资源R1,R2,R3,被4个进程p1,p2,p3,p4共享。各进程对资源的需求为:p1申请R1和R2和R3,p3申请R2和R3,p3申请R1和R3,p4申请R2。若系统出现死锁,则处于死锁状态的进程数至少是:C
A. 1 B. 2 C. 3 D. 4
资源分配图如下:
图片发自简书App
可以看出,P4是不影响系统最终状态的,因为只要给它分配资源,完成后就会释放资源。
所以,不管给不给P4分配资源,最终三类资源都是在P1,P2,P3之间进行分配
简化后的资源分配图如下:
图片发自简书App
由于资源和进程都是完全对称的,所以对资源的分配可以分两种情况
①第1种情况下,有了循环(题目中并没有给出各类资源的具体个数。资源数-出边≥入边?无法判断,所以不一定发生死锁),按照题目要求,此刻发生了死锁。那么必定是三个进程都无法进行,因为只要有一个进程申请的资源得到满足,完事后就会释放相邻的资源。循环状态就被破坏了,没有循环,一定不会发生死锁。
②第2种情况下,可以看出并没有形成循环。所以它是可以完全化简成孤立状态的。所以这种情况下必定不会发生死锁。
图片发自简书App