银行家算法

✍ dations ◷ 2025-11-16 02:07:39 #操作系统技术,荷兰发明

银行家算法(Banker's Algorithm)是一个避免死锁(Deadlock)的著名算法,是由艾兹格·迪杰斯特拉在1965年为T.H.E系统设计的一种避免死锁产生的算法。它以银行借贷系统的分配策略为基础,判断并保证系统的安全运行。

在银行中,客户申请贷款的数量是有限的,每个客户在第一次申请贷款时要声明完成该项目所需的最大资金量,在满足所有贷款要求时,客户应及时归还。银行家在客户申请的贷款数量不超过自己拥有的最大值时,都应尽量满足客户的需要。在这样的描述中,银行家就好比操作系统,资金就是资源,客户就相当于要申请资源的进程。

      Allocation   Max   Available    ABCD    ABCD  ABCD P1   0014    0656  1520  P2  1432    1942  P3  1354    1356 P4  1000    1750

我们会看到一个资源分配表,要判断是否为安全状态,首先先找出它的Need,Need即Max(最多需要多少资源)减去Allocation(原本已经分配出去的资源),计算结果如下:

   NEED ABCD 0642  0510 0002 0750

然后加一个全都为false的字段

 FINISH false false false false

接下来找出need比available小的(千万不能把它当成4位数 他是4个不同的数)

   NEED    Available ABCD  ABCD 0642  1520 0510<- 0002 0750

P2的需求小于能用的,所以配置给他再回收

  NEED     Available ABCD  ABCD 0642  1520 0000 +1432 0002------- 0750  2952

此时P2 FINISH的false要改成true(己完成)

 FINISH false true false false

接下来继续往下找,发现P3的需求为0002,小于能用的2952,所以资源配置给他再回收

  NEED      Available ABCD  A B C D 0642  2 9 5 2 0000 +1 3 5 4 0000---------- 0750  3 12 10 6


依此类推,做完P4→P1,当全部的FINISH都变成true时,就是安全状态。

如果所有过程有可能完成执行(终止),则一个状态(如上述范例)被认为是安全的。由于系统无法知道什么时候一个过程将终止,或者之后它需要多少资源,系统假定所有进程将最终试图获取其声明的最大资源并在不久之后终止。在大多数情况下,这是一个合理的假设,因为系统不是特别关注每个进程运行了多久(至少不是从避免死锁的角度)。此外,如果一个进程终止前没有获取其它能获取的最多的资源,它只是让系统更容易处理。

基于这一假设,该算法通过尝试寻找允许每个进程获得的最大资源并结束(把资源返还给系统)的进程请求的一个理想集合,来决定一个状态是否是安全的。不存在这个集合的状态都是不安全的。

P - 进程的集合

Mp - 进程p的最大的请求数目

Cp - 进程p当前被分配的资源

A - 当前可用的资源

相关

  • 甲氧苄啶甲氧苄啶(Trimethoprim,TMP)为一种抗细菌药,主要用于治疗泌尿道感染,其他用途包含治疗中耳炎和旅行者腹泻。本品可与复方新诺明及达普颂一起合用,治疗艾滋病患者的肺囊虫肺炎。甲
  • 李希梅尔里西梅尔(Ricimer,或译李希梅尔,约405年-472年),苏维汇人,在5世纪中的西罗马帝国掌握政治实权多年。他青年时期在埃提乌斯军队服役,父母都是蛮族。450年进入政治界。472年,里西梅尔去
  • 击剑击剑,又称剑击,在广义上讲是指用手持兵器刺、戳的技术。现代一般多作为击剑体育项目的代名词,是一种格斗运动,这里指的击剑(Fencing)是以17世纪后单手用的护手刺剑为主的格斗运动,
  • 约讷省约讷省(法文:Yonne)是法国勃艮第-弗朗什-孔泰大区所辖的省份。该省编号为89。5个海外省及大区
  • 王绶琯王绶琯(1923年1月15日-),福建福州人,中国天体物理学家,中国科学院院士,中国现代天体物理学的主要奠基者之一。历任中国科学院北京天文台研究员、台长、名誉台长;曾任中国科学院数学
  • 洋菜胶琼脂,亦称寒天、琼脂胶、海菜胶、海燕窝、藻胶、石花菜、牛毛菜、大菜、菜燕等,是从海藻植物中提取的胶质。由日本美浓屋的太郎左卫门在17世纪60年代首次提取。可作为鱼胶的代
  • 水芹水芹(学名:Oenanthe javanica),通称水芹菜,别称楚葵、蜀芹、唐芹、野芹菜、爪哇水芹(Java waterdropwort)等,伞形目伞形科水芹属的一个物种,原产于亚洲东部。Minari-muchim (seasoned
  • 国家国有资产管理局国家国有资产管理局是中华人民共和国国务院直属机构。负责国有资产管理。财政部归口管理。第七届全国人民代表大会第一次会议批准,1988年8月成立。内设:其他下属单位:根据第八
  • 要港部要港部(日语:要港部/ようこうぶ Yōkōbu ?),为旧日本海军的机构之一,作为海军的根据地的一种,统辖舰队后方的机构。1889年(明治22年)5月29日,日本海军颁布了《镇守府条例》,其中规定
  • 夏季奥林匹克运动会七人制橄榄球比赛七人制橄榄球于2016年夏季奥运开始成为正式的奥运项目。该项目于2009年10月在哥本哈根召开的第121届国际奥委会全体会议中确认为正式比赛项目。