操作系统-死锁

死锁概念

死锁的必要条件

  • 互斥

    • 任何时刻只有一个进程使用一个资源实例
  • 持有并等待

    • 进程保持至少一个资源,并正在等待其他进程持有的资源
  • 非抢占

    • 进程只有在资源使用后自愿释放
  • 循环等待成环

死锁的处理方法

  • 死锁预防
  • 死锁避免
  • 死锁检测和恢复

死锁预防:限制申请方式

使得必要条件不满足

  • 互斥

    • 把互斥的资源封装成可以同时访问
  • 持有并等待

    • 进程申请资源时,保证其不拥有其他资源
    • 仅允许进程最开始执行时,一次性申请所有资源
    • 资源利用率低
  • 非抢占

    • 如果进程请求资源不能立即分配,则释放已有资源
    • 只有进程能同时获取到所有资源时,才予以分配
  • 循环等待

    • 对资源进行排序,要求进程按顺序请求资源

死锁避免

先验,判断是否会出现死锁,不出现才分配

  • 要求进程声明所需资源的最大数目
  • 限定提供与分配的资源数量,确保进程满足最大需求
  • 动态检测资源分配状态,确保不会出现环形等待

银行家算法

属于死锁避免的方法

  • 客户申请贷款时,最大贷款金额,完成项目后按时归还
  • 客户贷款不超过最大银行拥有的最大金额时,尽量满足
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值