为使系统不发生死锁,必须设法破坏产生死锁的四个必要条件之一,或者允许死锁产生,但是死锁发生时能检测出死锁,并有能力实现恢复。
1.预防死锁:
设置某些限制条件,破坏产生死锁的四个必要条件中的一个或几个,以防止发生死锁。
2.避免死锁:
在资源的分配过程中,用某种方法防止系统进入不安全状态,从而避免死锁。
3.死锁的检测与解除:
无需采取任何限制性措施,允许进程在运行过程中发生死锁。通过系统的检测机构及时地检测出死锁的发生,然后采取某种措施解除死锁。
预防死锁和避免死锁 都属于事先预防策略,但预防死锁的限制条件比较严格,实现起来较为简单,但往往导致系统的效率低,资源利用率低;
避免死锁的限制条件相对宽松,资源分配后需要通过算法来判断是否进入不安全状态,实现起来较为复杂。