什么是银行家算法

1.首先是baidu的一段解释,不过看完后,很模糊的感脚。

银行家算法是一种最有代表性的避免 死锁的算法。在避免 死锁方法中允许进程动态地申请资源,但系
银行家算法

银行家算法

统在进行资源分配之前,应先计算此次分配资源的安全性,若分配不会导致系统进入不安全状态,则分配,否则等待。为实现银行家算法,系统必须设置若干 数据结构
要解释银行家算法,必须先解释 操作系统 安全状态和不安全状态。
安全序列是指一个进程序列{P1,…,Pn}是安全的,即对于每一个进程Pi(1≤i≤n),它以后尚需要的资源量不超过系统当前剩余资源量与所有进程Pj (j < i )当前占有资源量之和。


通过银行家算法得到安全序列

2.请教了大学的一个小妹,结合例子。才有了比较清晰的理解。

假设系统中有3类互斥资源R1,R2,R3。初始可用资源分别为9,8,5。

系统开始5个进程P1......P5。然后通过银行家算法得到安全序列。

进程资源占用如下图:

计算方法如下图:


哈哈,说了半天,我才理解。。

要西~!完成了一天最后的学习~!让我做个美梦~!

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值