可以利用简化资源分配图的方法 , 来检测系统是否为死锁状态 .
所谓化简是指一个进程的所有资源请求均能被满足的话 , 可以设想该进程得到其所需的全部资源 , 最终完成任务 , 运行完毕 , 并释放所占有的全部资源 . 这种情况下 , 则称资源分配图可以被该进程化简 . 加入一个资源分配图可被其所有进程化简 , 那么称改图是可化简的 , 否则称改图是不可化简的
化简的方法如下 :
(1) 在资源分配图中 , 找出一个既非等待又非孤立的进程结点 Pi, 由于 Pi 可获得它所需要的全部资源 , 且运行完后释放它所占有的全部资源 , 故可在资源分配图中消去 Pi 所有的申请边和分配边 , 使之成为既无申请边又无分配边的孤立结点 .
(2) 将 Pi 所释放的资源分配给申请它们的进程 , 即在资源分配图中将这些进程对资源的申请边改为分配边 .
(3) 重复 (1),(2) 两步骤 , 知道找不到符合条件的进程结点
经过化简后 , 若能消去资源分配图中的所有边 , 使所有进程都成为孤立结点 , 则改图是可完全化简的 , 否则不可化简的 .