设置一张进程等待表,记录各进程与要申请资源之间的关系
资源分配表
资源 | 进程 |
---|---|
r1 | p2 |
r2 | p5 |
r3 | p4 |
r4 | p1 |
.. | .. |
进程等待表
资源 | 进程 |
---|---|
p1 | r1 |
p2 | r3 |
p4 | r4 |
.. | .. |
分析:
p1-r1-p2-r3-p4-r4-p1 出现环路引起死锁
重要的是以最小的代价恢复系统运行
方法:
- 撤销所有的死锁进程
- 进程回退(Roll Back)再启动
- 按照某种原则逐一撤销死锁的进程直到。。。
- 按照某种原则逐一抢占资源(资源被抢占的进程必须回退到之前对应的状态),直到。。。