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