进程-资源分配图
进程-资源分配图用圆圈表示进程,方框表示一类资源,方框中的点表示此类资源的数量。将这些节点用箭头相连。
- 如果进程指向资源,表示进程希望申请一个对应的资源;
- 如果资源指向进程,意味着当前已经有一个对应资源分配给了进程。
如果某个进程可以被顺利执行完毕,则可以释放并删除对应的箭头。如果一个进程-资源分配图可以被化简到没有任何一个箭头,则认为不会发生死锁问题,反之,则一定会出现死锁问题。
比如对于上图, 不需要新的资源来进行进程,因此可以顺利释放两个对应资源。对于 ,此时就可以满足 的申请,自然也可以释放掉 资源。此过程持续进行,最终可以释放掉所有箭头,因此认为不会陷入死锁。
- 如果资源分配图中没有环,系统中一定没有死锁。
- 途中有环,可能存在死锁。
- 如果每类资源只有一个,出现环路一定发生了死锁。