死锁的基本概念
定义(Deadlock):多个进程因竞争资源而造成的一种僵局,若无外力作用,这些进程将永远无法推进
产生的原因
- 竞争资源
- 进程推进顺序不合理
产生的必要条件
- 互斥条件Mutual exclusion
- 占有并等待Hold and wait
- 不可抢占No preemption
- 环路等待Circular wait
资源分配图
死锁的处理办法
- 设计无死锁的系统——系统运行前或运行中
① 死锁预防——破坏死锁存在的四个必要条件
② 死锁避免——保证系统随时处于安全状态 - 允许系统出现死锁,提供处理方法排除_系统或进程运行后
③ 死锁检测——通过化简资源分配图
④ 死锁恢复——通过破坏死锁的必要条件 - 忽视死锁
死锁的处理=
死锁的预防
基本思想:破坏死锁发生的四个必要条件之一
四个必要条件:
- 互斥条件Mutual exclusion
- 占有并等待Hold and wait