一、死锁条件(4)
1.互斥
2.不可抢占
3.占有并等待
4.循环等待
二.死锁预防(针对上述条件进行预防)
1.没用
2.破坏不可抢占
可抢占式,及要求申请失败的进程释放自己占有的资源给被人用,降低系统性能
3.破坏占有且申请(占有并等待)条件
直接申请自己所需资源
4.破坏循环等待
资源分类编号,按序申请
三.死锁避免
死锁的避免指的是不限制进程有关申请资源的命令,而是对进程所发出的每一个申请资源命令加以动态地检查,并根据检查结果决定是否进行资源分配。
银行家算法。当一个进程申请使用资源的时候,银行家算法通过先 试探 分配给该进程资源,然后通过安全性算法判断分配后的系统是否处于安全状态,若不安全则试探分配作废,让该进程继续等待。