银行家算法

定义

银行家算法是一种死锁避免算法,该算法允许进程动态申请资源。

原理

系统毎次在进行资源分配之前,先计算此次分配资源的安全性,若此次资源分配不会导致系统进入不安全状态,则分配资源;否则,不分配资源,让进程等待。

局限

银行家算法在避免死锁上非常有效,但是需要在进程运行前就知道其所需资源的最大值,且进程数也通常不是固定的。因此很难实现。

参数

已分配给进程的资源:Allocation
进程总共需要的资源数:Claim
进程还需要的资源数:Need
资源池(空闲资源数):Available

原则

(1) 当一个进程对资源的最大需求量不超过系统中的资源数时可以接纳该进程。
(2) 进程可以分期请求资源,但请求的总数不能超过最大需求量。
(3) 当系统空闲的资源不能满足进程尚需资源数时,对进程的请求可以推迟分配,但总能使进程在有限的时间里得到资源。
(4) 当系统空闲的资源能满足进程尚需资源数时,必须测试系统现存的资源能否满足该进程尚需的最大资源数,若能满足则按当前的申请量分配资源,否则也要推迟分配。

参考资料银行家算法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值