1. 死锁预防
死锁预防意味着阻止发生死锁所需的四个条件中的至少一个。如果我们能够阻止其中任何一个,那么就可以防止死锁。
需要阻止的四个条件是:
- 互斥
- 等待
- 无抢占
- 循环等待
假脱机和非阻塞同步算法用于防止上述情况。在死锁预防中,所有请求都在有限的时间内被授予。
2. 避免死锁
在死锁避免中,我们必须在死锁真正发生之前预见到死锁,并确保系统不会进入不安全状态。如果仔细分配资源,就有可能避免死锁。为了避免死锁,我们使用银行家和安全算法进行资源分配。在死锁避免中,将需要的每种类型的最大资源数在流程开始时说明。