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