2.4 死锁 Deadlocked
基础概念
相关提炼内容见 deadlock。
死锁的概念
死锁的定义
死锁产生的原因
- 系统资源的竞争
- 进程推进顺序非法
- 死锁产生的必要条件
- 互斥条件
- 不剥夺条件
- 请求并保持条件
- 循环等待条件
~与「饥饿」的区别
- 进入「饥饿」状态的进程可以只有一个,而因循环等待条件而进入死锁状态的进程却必须大于等于两个
- 处于「饥饿」状态的进程可以是一个就绪进程,如静态优先权调度算法时的低优先权进程,而处于死锁状态的进程必定是阻塞进程
死锁的处理策略
- 死锁约访
- 避免死锁
- 死锁的检测及解除
死锁预防
- 破坏互斥条件
- 破坏不剥夺条件
- 破坏请求并保持条件―预先静态分配方法,一次申请所有资源
- 破坏循环等待条件―顺序资源分配法
死锁避免
死锁检测和解除
- 资源分配图
- 死锁定理
- 死锁解除
- 资源剥夺法
- 撤销进程法
- 进程回退法