死锁


死锁

死锁是不安全状态的一种。系统进入不安全状态就有可能回进入死锁状态

死锁产生的原因

  1. 系统资源的竞争
  2. 进程推进顺序非法
  3. 死锁产生的必要条件
    1. 互斥条件
      解决:允许系统资源共享使用
    2. 不可剥夺条件
      解决:释放已经保持的所有资源,待以后需要再重新申请
    3. 请求和保持条件
      解决:采用预先静态分配方法
    4. 循环等待条件
      解决:采用顺序资源分配法

解决死锁

  1. 预防死锁
    破坏死锁的四个条件
  2. 避免死锁
    允许进程动态地申请资源,但在资源分配前,先计算此次资源分配的安全性
    算法:银行家算法
  3. 死锁的检测
    死锁的条件是当前资源分配图是不可完全简化的
    死锁定理:(简化当前资源分配图)
    1. 找出即不阻塞又不孤点的进程
    2. 该进程释放所有资源
  4. 死锁的解除
    1. 资源剥夺法
    2. 撤销进程法
    3. 进程回退法

文章作者: 彭峰
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 彭峰 !
  目录