一、产生死锁的4个必要条件:1.互斥条件; 2.请求和保持条件;3.不可抢占;4.循环等待条件。
二、 预防死锁主要分为三种:1.破坏请求和保持条件;2.破坏不可抢占条件;3.破坏循环等待条件
三、避免死锁同样属于事先预防的策略,但并不是事先采取某种限制措施,破坏产生死锁的必要条件;而是在资源动态分配过程中,防止系统进入不安全状态,以避免发生死锁。避免死锁的基本思想就是确保系统始终处于安全状态。最具有代表性的避免死锁的算法是Dijkstra的银行家算法。
四、解除死锁的方法(2种):1.抢占(剥夺)资源;2.终止(或撤销)进程。
五、案例判断
剥夺资源法(解除死锁)
资源分配图简化法(判断是否死锁)
银行家算法(避免死锁)
资源静态分配法{不会死锁(将进程所需资源全部分给进程独占)}