跳转至

死锁的避免

死锁的预防与避免策略

方法 说明 优点 缺点
预防死锁 静态策略,通过对进程的资源申请进行事先限制,以减少死锁发生的可能性。 简单直观,确保从一开始就避免死锁的发生。 灵活性差,可能导致资源利用率降低,甚至产生资源浪费。
避免死锁 动态策略,允许进程动态申请资源,但在分配前进行安全性检查,防止系统进入不安全状态。 灵活,动态分配资源,能够避免死锁。 对资源申请分析计算复杂,系统开销较大,难以精确掌握每个进程所需的最大资源数。

死锁避免的策略和方法

策略 方法 工作原理
银行家算法 死锁避免算法,用于判断系统在分配资源后是否仍然处于安全状态。 系统在每次分配资源前,检查是否有足够的资源满足当前请求;如果分配该资源后,系统仍然安全,则允许分配,否则拒绝请求。
资源请求时的安全检查 动态分配资源时进行检查,确保不进入不安全状态。 系统检查进程的资源请求是否会导致死锁,如果安全则允许请求,否则拒绝。