OS- -死锁(二)

本文详细探讨了操作系统中的死锁问题,包括死锁避免的银行家算法、破坏死锁的四个条件(互斥、保持和等待、不可抢占、循环等待)及其对策,以及活锁、饥饿和其他相关问题。银行家算法通过预先分配资源来避免系统进入不安全状态。破坏死锁的策略包括破坏四个条件,例如通过允许资源抢占或改变资源分配顺序。此外,文章还提到了通信死锁和两阶段加锁等并发控制策略。

OS- -死锁(二)

一、死锁

1.死锁避免

单个资源的银行家算法
  • 银行家算法是Dijkstra在1965年提出的一种调度算法,它本身是一种死锁的调度算法
  • 它的模型是基 于一个城镇中的银行家,银行家向城镇中的客户承诺了一定数量的贷款额度。
  • 算法要做的就是判断请求 是否会进入一种不安全的状态
  • 如果是,就拒绝请求,如果请求后系统是安全的,就接受该请求
  • 比如下面的例子,银行家一共为所有城镇居民提供了 15单位个贷款额度,一个单位表示1k美元,如 下所示:
    在这里插入图片描述
  • 城镇居民都喜欢做生意,所以就会涉及到贷款,每个人能贷款的最大额度不一样,在某一时刻, A/B/C/D的贷款金额如下:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wolfGuiDao

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值