银行家算法

✍ dations ◷ 2025-08-06 00:05:08 #操作系统技术,荷兰发明

银行家算法(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 - 当前可用的资源

相关

  • 螺旋体门螺旋体门(Spirochaetes)是一类很有特点的细菌,具有长的螺旋形盘绕的细胞。它们独具细胞全长、在细胞膜和细胞壁之间的鞭毛,称为“轴丝”(axial filament)。螺旋体可以通过轴丝产生
  • 黄体生成素黄体化激素(英语:Luteinizing hormone,LH),是一种在脑下垂体前叶合成的荷尔蒙。它的形成是受到促性腺激素释放激素(GnRH)的控制。在女性体内,黄体化激素会刺激卵巢释放卵子,它的周
  • 詹姆斯·萨姆纳詹姆斯·巴彻勒·萨姆纳(James Batcheller Sumner,1887年11月19日 - 1955年8月12日),美国化学家,1946年获诺贝尔化学奖。1901年:范托夫 | 1902年:费歇尔 | 1903年:阿伦尼乌斯 | 1904
  • CAD4C6CCAD 是单鞭毛生物的一段融合基因,由能编码产生和嘧啶生物合成有关的三种酵素:氨甲酰合成酶Ⅱ(Carbamoyl-phosphate synthetase 2)、天冬氨酸转氨甲酰酶(Aspartate transcarba
  • 国王日国王日是荷兰王国庆祝君主的法定假期,目前国王日定于每年的4月27日,以庆祝2013年登基君主威廉-阿历山大国王生辰,若为星期日则于前一天补假。1890年至2013年间,这个节庆称为女王
  • 电突触是神经元之间突触的一种,是以直接电气方式耦合。 电突触是以两个神经元之间相距仅2至4奈米的缝隙连接作为传递信号的地方,相对于20-40奈米的化学突触来说小得多,带电的离
  • 2-吡啶甲酸吡啶-2-甲酸是一种有机化合物,化学式为C5H4N(CO2H)。它是吡啶2位的氢被羧基取代的物质。它在Mitsunobu反应和Hammick反应中用作底物。:495ff吡啶-2-甲酸可由2-甲基吡啶的氧化
  • 固定汇率制固定汇率制(又称钉住汇率制),是国家间货币采用固定汇率进行货币交换的制度,一国政府可通过行政方式限定其货币相对于另一货币的价值。该国政府依照一定重量的黄金,或者一定量的另
  • 网络实名制网络实名制是在一些国家和地区实行的法规, 顾名思义,此法规就是要求所有使用网络及服务的人或群体必须要以真实姓名出现或登记。最早实施网络实名制的国家为南韩,如今网络实名
  • 巴西人口巴西的大西洋沿岸人口稠密,内陆地区较为稀少。种族和文化差异显著。南部居民多有欧洲血统,可溯源到19世纪初来自意大利、德国、波兰、西班牙、乌克兰和葡萄牙等国的移民。而北