死锁检测的数据结构,类似银行家算法的数据机构:
- 设Available为可以使用的资源;
- 不占用资源的进程记入L表中,即LiL;Available[i] = 0 ;
- 从进程中找到Request_i <=Work 的进程,做如下处理:释放资源,Work = Work + Allocation [i] ,将该进程记入L表;
- 最后如果L表没有所有进程,则说明系统状态是不能完全简化的,会发生死锁。
死锁解除方式:
- 抢占资源
- 终止进程(终止所有的死锁相关的进程,或者一个一个终止,解脱了为止)
死锁检测的数据结构,类似银行家算法的数据机构:
死锁解除方式: