银行家算法是操作系统的经典算法之一用于避免死锁情况的出现.它最初是为银行设计的因此得名通过判断借贷是否安全然后决定借不借.在银行中客户申请贷款的数量是有限的每个客户在第一次申请贷款时要声明完成该项目所需的最大资金量在满足所有贷款要求时客户应及时归还.银行家在客户申请的贷款数量不超过自己拥有的最大值时都应尽量满足客户的需要.用在操作系统中银行家出借资金客户就分别对应操作系统资源申请资源的进程.每一个新进程进入系统时必须声明需要每种资源的最大数目其数目不能超过系统所拥有的的资源总量.当进程请求一组资源时系统必须首先确定是否有足够的资源分配给该进程若有再进一步计算在将这些资源分配给进程后是否会使系统处于不安全状态如果不会才将资源分配给它否则让进程等待.1互斥条件并发进程所要求和占有的资源是不能同时被两个以上进程使用或操作的进程对他所需要的资源进行排他性控制.2不剥夺条件进程所获得的资源在未使用完毕之前不能被其他进程强行剥夺而且只能由获得该资源的进程自己释放.3请求和保持条件进程已经至少保持了一个资源但又提