操作系统-银行家算法问题 1)剩余:A:1 B:5 C:2 D:0因为P1已经满足最大需求数,则P1资源最终是可回收,则可看做剩余:A:1 B:5 C3 D:22)是安全状态;因为按照剩余:A:1 B:5 C3 D:2(此时P1已经结束)分别按照顺序满足各进程的最大需求是可以把全部进程完成的(顺序可为:P3->;P4->;P5->;p2)3)系统会去满足;若此时去满足,则剩余资源为:A:1 B:1 C1 D:2此时,各进程的状态:已占有资源 最大需求数A B C D A B C DP1 0 0 0 0 0 0 1 2(已结束)P2 1 4 2 0 1 7 5 0P3 1 3 5 4 2 3 5 6P4 0 6 3 2 0 6 5 2P5 0 0 1 4 0 6 5 6按照各进程状态以及剩余资源,可以知道之后P3,即可回收已分配的资源,即处安全状态。这是本人的理解,如有错,请包涵指出。
关于银行家算法一个简单的问题 按照你的做法,如果这时候系统给进程1一个资源,给进程2一个资源,那样系统就会死锁.而你们老师说的就是正确的,因为无论系统把那一个资源给任意一个进程,任意一个进程都会完成并释放资源.
银行家算法(操作系统) 1、这是安全状态:P1的需求小于可用资源数,先满足P1的请求,然后回收P1资源:可用资源变为(3,3,2)+(2,0,0)=(5,3,2);这时P3可分配,P3结束后回收资源,可用资源为(5,3,2)+(2,1,1)=(7,4,3)这时P0可分配,P0结束后回收资源,可用资源为(7,4,3)+(0,1,0)+(7,5,3)接下来是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状态是安全的。2、T0时刻P1请求(1,1,2)<;可用资源数(3,3,2),可以直接满足。