什么是死锁状态?
一组进程在等待其它进程占有且永不会释放的资源。死锁原因就是资源被占有,且不释放,如果其它进程也要使用这个资源,则有可能导致更多的进程死锁,使系统崩溃。
死锁为什么会产生?
资源竞争。申请资源的次序。
死锁产生的必要条件?
1.互斥条件;2.不可剥夺条件;3.请求和保持条件;4.循环等待条件;
避免死锁的方法?
1.死锁预防:不死锁产生的必要条件不同时存在。
2.死锁避免:系统动态检测进程的状态,将进程申请资源时,有可能导致死锁,则不给其申请,以此来避免死锁。
什么是安全状态和不安全状态?
进程序列指一组有次序的进程组合。安全序列是系统按这个次序分配资源时,不会导致不安全状态,这时这个序列称安全序列。
安全状态是存在一个安全序列则系统处于安全状态。
什么是银行家算法?
把银行当系统,金钱当资源,申请金钱的顾客视为进程,顾客可以分期贷款,且顾客预先知道自己的最大需求量,银行家算法包含以下四条规则:
1.个人申请金额不能超过银行现有资金;
2.当个人申请到资金后,能在一定期限全部归还资金。
3.个人可以分期贷款,但贷款不能超过最大需求量;
4.当银行现有资金不能满足顾客当次申请时,银行可以推迟支付,但总能在有限时间内满足顾客。
关键:顾客分批贷款、顾客有最大需求量、银行可推迟支付;
死锁的检测和解除分别是什么?
什么是资源分配图?什么情况下可能有死锁?
1.资源分配图是一张有向图,用矩形表示资源集合R、用圆圈表示进程Pi(i>0),资源中的点表示资源,资源点指向进程表示被进程占有,进程指向资源表示申请资源。
2.如果资源分配图中回路时,则有可能存在死锁,如果回路中的每个资源只有唯一实例,那存在死锁。如果回路的资源不全为1,则是死锁存在必要条件。
网友评论