银行家算法

亦凉 2024-02-20 10:12 130阅读 0赞

银行家算法

  • 定义
  • 原理
  • 局限
  • 参数
  • 原则

定义

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

原理

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

局限

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

参数

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

原则

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

参考资料:银行家算法

发表评论

表情:
评论列表 (有 0 条评论,130人围观)

还没有评论,来说两句吧...

相关阅读

    相关 银行家算法

    银行家算法 定义 原理 局限 参数 原则 定义 银行家算法是一种死锁避免算法,该算法允许进程动态申请资源。 原理 系统毎次在

    相关 银行家算法

    银行家算法 进程申请资源时,系统通过一定的算法判断本次申请是否不可能产生死锁(处于安全状态)。若可能产生死锁(处于不安全状态),则暂不进行本次资源分配,以避免死锁。算法有

    相关 银行家算法

    银行家算法 银行家算法是一种用来避免操作系统死锁出现的有效算法,所以在引入银行家算法的解释之前,有必要简单介绍一下死锁的概念。 一、死锁 死锁:是指两个或两个以上