操作系统——死锁:处理方法:预防避免、检测恢复、忽视

  • 分析死锁问题
    • 原因:进程占用一个资源并请求被其他进程占用的资源
    • 必要条件:互斥,占用并等待,非抢占,循环等待
    • 资源申请使用流程:申请,使用,释放
    • 资源分配图:

  • 预防
    • 互斥:通常不能改
    • 占有并等待:进程执行前备齐所有资源;或者申请下一个时释放前一个。可能引发饥饿问题
    • 非抢占:如果一个进程占有资源并申请另一个不能分配的资源,那么已分配资源可被抢占
    • 循环等待:设置资源申请顺序,依次申请释放
  • 避免:确保系统不进入不安全状态
    • 资源分配图:引入需求边
    • 银行家算法:

      • 安全性算法
      • 资源请求算法
  • 检测:调用取决于死锁发生频率和死锁发生时受影响的进程数量
    • 等待图
    • 银行家算法
  • 恢复:选择牺牲品并考虑饥饿,避免总是同一个进程成为牺牲品

猜你喜欢

转载自blog.csdn.net/qq_56061892/article/details/126224109
今日推荐