MST

星途 面试题库

面试题:并发与同步:常见死锁解除技术在操作系统中的原理

请简述资源剥夺法、撤销进程法和进程回退法这三种死锁解除技术在操作系统中的基本原理,并说明它们各自的优缺点。
38.5万 热度难度
操作系统并发与同步

知识考点

AI 面试

面试题答案

一键面试

资源剥夺法

  • 基本原理:从其他进程剥夺足够数量的资源给死锁进程,以打破死锁。这些资源通常是死锁进程所需要且其他进程暂时可释放的。
  • 优点:不终止进程,能保留进程已完成的工作,对系统影响相对较小,尽量维持系统中进程运行状态。
  • 缺点:选择剥夺资源的进程较困难,若选择不当可能导致该进程执行受影响甚至无法继续正常执行;反复剥夺资源可能增加系统开销,降低系统效率。

撤销进程法

  • 基本原理:强制撤销死锁进程,释放其占有的全部资源,从而打破死锁。可以一次性撤销所有死锁进程,也可逐步撤销部分进程直到死锁解除。
  • 优点:实现相对简单,能快速打破死锁状态,有效解决死锁问题。
  • 缺点:撤销进程意味着进程之前的工作全部丢失,尤其是对一些运行时间长、重要的进程,损失较大;若撤销进程选择不当,可能影响系统功能或用户任务完成。

进程回退法

  • 基本原理:让死锁进程回退到某个之前的检查点状态,释放从检查点之后获取的资源,使系统摆脱死锁状态。系统需记录进程执行过程中的检查点及资源使用情况。
  • 优点:可避免撤销整个进程,减少进程重新执行的工作量,在一定程度上保留进程之前的执行成果;相比资源剥夺法,对进程运行干扰较小,可维持进程执行的连贯性。
  • 缺点:实现复杂,需要额外机制记录检查点及资源使用历史;回退可能导致部分已完成操作重复执行,增加系统开销;确定回退点困难,回退点选择不当可能无法有效解除死锁或造成资源浪费。