MST

星途 面试题库

面试题:并发与同步:常见死锁解除方法及其原理

请列举至少三种操作系统中解除死锁的常见方法,并简要阐述每种方法的工作原理。
27.3万 热度难度
操作系统并发与同步

知识考点

AI 面试

面试题答案

一键面试
  1. 资源剥夺法
    • 原理:从其他进程那里剥夺足够数量的资源给死锁进程,以解除死锁。比如有进程A、B、C处于死锁状态,系统检测到后,从进程B和C中剥夺一些资源分配给进程A,使A能够继续运行完成,释放其所占资源,进而打破死锁局面。
  2. 撤销进程法
    • 原理:强制撤销部分甚至全部死锁进程并剥夺这些进程的资源。例如,当检测到死锁时,系统选择撤销其中一个或几个死锁进程,将它们占用的资源释放出来,使其他进程能够获取资源继续运行,从而解除死锁。
  3. 进程回退法
    • 原理:让一个或多个死锁进程回退到足以避免死锁的某个状态,这通常需要系统保存进程运行的历史信息以及设置还原点。比如进程在执行一系列操作后进入死锁,通过回退到之前某一状态,重新以不同顺序请求资源,避免死锁。
  4. 重启系统
    • 原理:直接重启整个操作系统,所有进程重新开始运行。重启后,系统中的资源状态重新初始化,之前造成死锁的资源分配情况不再存在,从而解除死锁。但这种方法代价较大,会导致正在运行的所有进程数据丢失。