关于利用死锁定理关于化简资源分配图(RAG)算法中“两不点”备忘

书读百遍其义自见:

假设某个资源分配图中存在一个进程Pi,此刻Pi非封锁进程(既不阻塞,又不独立),非封锁进程Pi的化简即删除资源分配图中与Pi连结的所有有向边,使Pi变成孤立结点,重复上述过程直到不能化简为止。

分析:Pi非封锁进程(既不阻塞,又不独立)怎么理解呢?

答:    

      这里来看(a)为什么P1为什么是既不阻塞,又不独立的呢?

      你看(a)中:P1申请1个R2;同时R1分配给P1两个该类资源,即使R1分配给P1两个资源,R1还剩1个该类资源。

-----------------------------------------------------

P1完成操作释放资源后:

      再看(b)中:P2申请1个R2类资源,此时R2类资源还剩1个资源;同时,P2申请1个R1类资源,而R1类资源除了分配给P2一个资源,还剩1个该类资源。所以P2在(b)中是既不阻塞,又不独立的进程结点。  

(个人总结:“两不点”具有这样的特征:资源对于“两不点”有剩余)                    

-----------------------------------------------------

最后得到这个最简图:        

       

具体情节请参看:

http://cs.hytc.edu.cn/lab/cl/%B2%D9%D7%F7%CF%B5%CD%B3/zjs064/zjs06404/zjs064040.htm                      

           

 

你可能感兴趣的:(Operating,System)