银行家算法

✍ dations ◷ 2025-11-21 21:13:18 #操作系统技术,荷兰发明

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

相关

  • 生物工程学生物工程学(Biological Engineering或bioengineering),是一种即综合利用数学、物理学、化学、生物学的知识,以及工程学本身的方法,以应对在生物学及医药学等领域等各种问题,满足人
  • 蒸发散蒸发散,又称蒸散、蒸散量等,包括了地表水分蒸发与植物体内水分的蒸腾。它是维持陆面水分平衡的一个重要组成部分,也是维持地表能量平衡的主要部分。计算蒸散的模型有:
  • 日本温泉日式温泉是指日本风格的温泉。因为日本是一个拥有许多火山的国家,所以境内有至少上千个天然温泉。日式温泉可以分成室内温泉和室外温泉。根据日本温泉法,只要天然涌出的水含有
  • 六块厝车站六块厝车站位于屏东县屏东市,为台湾铁路管理局屏东线的铁路车站。 在台铁捷运化计划中,原先预定将台铁高雄机务段及检车段迁至此处,并将本站改称屏东新站,取代高雄站纵贯线到达
  • 气管内管置放术插管是一种临床医学治疗,意思是通过人体表及体内的孔腔将导管插入人体,用以输入和吸出气体或液体。常见的插管包括气管插管以通过咽腔及声门将管插入人体气管中用于通气,又或者
  • 羞耻羞耻(英文:Shame),是一种因隐私遭侵害,或经历不荣誉、不成功及不得体等事件而察觉到自己无法符合社会预期或规范,所产生的尴尬或暴露情绪。骄傲经常被视作羞耻的相反。当意识到羞
  • 罗圈腿O型腿,又叫做膝内翻、罗圈腿,是一种身体发育现象。当并拢双足、完全放松双腿直立时,如果两个膝关节之间不能并拢,就说明是有O型腿。幼儿骨骼尚在发育没有完全钙化,2岁以前被视为
  • 诸乐三诸乐三(1902年2月14日-1984年1月29日),原名诸文萱,字乐三,号希斋,别署南屿山人,浙江安吉鹤溪村人,中国当代国画家、艺术教育家,中国美术学院教授。艺术造诣高,熔诗、书、画、印于一炉。
  • 2003年国际足联女子世界杯2003年国际足联女子世界杯在美国举办,其冠军是德国。此次比赛最初决定在中华人民共和国举办,但因为在2003年中国爆发了SARS疫情,比赛便改在美国进行。尽管美国已经举办了1999年
  • iOS版本历史iOS版本历史列举了苹果公司为移动设备所开发的iOS操作系统,支持的设备包括iPhone、iPod touch、iPad的版本历史。iOS可以通过iTunes对设备进行升级,iOS 5.0及以上版本亦可以通