操作系统之进程管理:19、死锁的处理策略:避免死锁(银行家算法)

思维导图

在这里插入图片描述

安全序列

在这里插入图片描述

来看这样的情况:
由上述表格可知,B仍需50,A仍需30,T仍需20,我手中剩余40
方案一
我将30借给B,我手中剩余10;B仍需20,A仍需30,T仍需20;此时我手中剩余的钱借给谁都满足不了他们的需求;不安全
方案二
我将30借给A;A满足后将所有钱归还,此时我手中剩余50;
然后将50借给B;B满足后将所有钱归还,此时我手中剩余70;
然后我在将20借给T;T满足后将所有钱归还;此时手中剩余100;
这样都达到了B、A、T的需求;安全序列为:A->B->T(不唯一,满足即可)。我们称这样一个序列为安全序列。

在这里插入图片描述
如果系统处于安全状态,就一定不会发生死锁。如果系统进入不安全状态,就可能发生死锁。(处于不安全状态未必死锁,但死锁一定处于不安全状态)

在这里插入图片描述

剩余资源数:(3,3,2)
第一次分配:P1,满足;释放后剩余:(5,3,2)
第二次分配:P3,满足;释放后剩余:(7,4,3)
第三次分配:P0,满足;释放后剩余:(7,5,3)
第四次分配:P2,满足;释放后剩余:(10,5,5)
第五次分配:P4,满足;释放后剩余:(10,5,7)
安全序列:P1–P3–P0–P2–P4(不唯一)

银行家算法实现步骤

在这里插入图片描述

银行家算法的实现

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值