银行家算法假定系统资源总量
1、银行家算法:银行家算法是从当前状态出发,按照系统各类资源剩余量逐个检查各进程需要申请的资源量,找到一个各类资源申请量均小于等于系统剩余资源量的进程P1。
2、为什么银行家算法是可行的呢?这里需要严格的证明一下。不管任何时候,操作系统分配资源的时候都可以保证当前接受资源的进程不会陷入死锁,因为操作系统总是可以满足该进程需要的资源的。
3、为实现银行家算法,系统必须设置若干数据结构。要解释银行家算法,必须先解释操作系统安全状态和不安全状态。
4、银行家算法问题是研究一个银行家如何将其总数一定的现金安全地借给若干个顾客,使这些顾客既能满足对资金的要求,又能完成其交易,也使银行家可以收回自己的全部现金不致于破产。
有没有人懂操作系统的银行家算法,最好有一道例题可以讲
1、银行家算法是一种最有代表性的避免死锁的算法。在避免死锁方法中允许进程动态地申请资源,但系 银行家算法统在进行资源分配之前,应先计算此次分配资源的安全性,若分配不会导致系统进入不安全状态,则分配,否则等待。
2、银行家算法:资源==钱;收回资源==收回贷款;收不回资源==不会放贷;例题:假设系统中有三类互斥资源R1,R2,R3。
3、②采用银行家算法进行计算分析可知:系统可以满足P2进程对资源的请求,将资源分配给P2之后,至少可以找到一个安全的执行序列,如(P2, P1, P3, P4)使各进程正常运行终结。
在银行家算法中,若出现下述资源分配状况
)不能.如果满足P1的请求Request(1,0,2)后,P1的需求没有完全满足,也就是说P1获得该资源后不会结束,依然在等待系统分配资源。而系统剩余资源为(2,3,0)不能再满足任何进程的需求,处在不安全状态,可能产生死锁。
接下来是P2,结束后可用资源为(7,5,3)+(3,0,2)=(10,5,5)最后分配P4,结束后可用资源为(10,5,5)+(0,0,2)=(10,5,7)这样得到一个安全序列:P1-P3-P0-P2-P4,所以T0状态是安全的。
P1进程提出的请求,可以分配。P2进程不能分配,因为请求的B类资源超过了它的最大值。
银行家算法是一种预防死锁的算法。具体算法步骤可以参考百度百科: 银行家算法 例子 :某系统有A、B、C、D , 4类资源共5个进程(P0、PPPP4)共享,各进程对资源的需求和分配情况如下表所示。
6 5 2 P5 0 0 1 4 0 6 5 6 按照各进程状态以及剩余资源,可以知道之后P3,即可回收已分配的资源,即处安全状态。这是本人的理解,如有错,请包涵指出。














