银行家算法是荷兰学者Dijkstra为银行系統设计的以确保银行在发放现金贷款时,不会发生不能满足所有客户需要的情况后来该算法被用在操作系统中,用于避免死锁
核心思想
:在进程提出资源申请时先预判此分配是否会导致系统进入不安全状态。如果会进入不安全状态就暂时不答应这次请求,让该进程先阻塞等待
假定有五个进程{P0,P1,P2,P3,P4}和三类资源{A,BC},各种资源的数量分别为10、5、7在T0时刻的资源分配情况如下
P1发出请求向量Request1(1,0,2),系统按银行镓算法进行检查: