MST

星途 面试题库

面试题:并发与同步:新兴操作系统检测死锁的常用方法

在新兴操作系统中,为了应对死锁问题,首先要能够检测到死锁的发生。请简述至少两种新兴操作系统检测死锁的常用方法,并说明每种方法的工作原理和适用场景。
11.9万 热度难度
操作系统并发与同步

知识考点

AI 面试

面试题答案

一键面试

资源分配图算法

  1. 工作原理
    • 资源分配图是描述系统中进程和资源之间关系的有向图。图中节点分为两类,一类是进程节点,另一类是资源节点。从进程节点到资源节点的有向边表示进程请求该资源,从资源节点到进程节点的有向边表示该资源已分配给该进程。
    • 检测死锁时,通过对资源分配图进行化简操作。如果最终能够将图中的所有边都消除,即所有进程都能得到所需资源并运行完成,那么系统不存在死锁;否则,若化简后图中仍存在环,则表示系统发生了死锁,环中的进程处于死锁状态。
  2. 适用场景:适用于各种资源类型和数量相对固定,进程对资源的请求和释放操作比较规范的场景。例如传统的服务器操作系统中,进程对CPU、内存、磁盘等资源的使用场景,通过资源分配图算法能直观清晰地检测死锁情况。

超时检测法

  1. 工作原理
    • 为每个进程的资源请求操作设置一个超时时间。当进程发出资源请求后,若在设定的超时时间内没有获得所需资源,则判定可能发生死锁。然后系统可以进一步进行更详细的检查,比如查看相关进程的资源占用和请求状态,以确定是否真的发生死锁。
  2. 适用场景:适用于对响应时间有一定要求,且死锁发生时进程长时间等待资源的情况较为常见的场景。例如在实时操作系统中,进程需要快速获取资源以保证系统的实时性,超时检测法能及时发现因资源长时间未分配导致的可能死锁情况,避免影响系统实时任务的执行。