MST

星途 面试题库

面试题:并发与同步:操作系统资源图简化策略的基本应用

假设有一个操作系统资源分配图,包含3个进程P1、P2、P3,3种资源R1、R2、R3,R1有2个实例,R2有1个实例,R3有2个实例。P1持有1个R1并请求1个R2;P2持有1个R2并请求1个R3;P3持有1个R1和1个R3并请求1个R1。请使用资源图简化策略判断该系统是否处于死锁状态,并详细说明简化步骤。
46.8万 热度难度
操作系统并发与同步

知识考点

AI 面试

面试题答案

一键面试
  1. 初始资源分配图描述
    • 资源R1有2个实例,P1持有1个R1,P3持有1个R1,P3请求1个R1。
    • 资源R2有1个实例,P2持有1个R2,P1请求1个R2。
    • 资源R3有2个实例,P3持有1个R3,P2请求1个R3。
  2. 简化步骤
    • 第一步
      • 进程P2持有资源R2,请求资源R3。此时资源R3有1个空闲实例(因为总共2个实例,P3持有1个),但进程P2的请求不能满足,所以P2不能被简化。
    • 第二步
      • 进程P3持有资源R1和R3,请求资源R1。资源R1没有空闲实例(2个实例分别被P1和P3持有),所以P3不能被简化。
    • 第三步
      • 进程P1持有资源R1,请求资源R2。资源R2没有空闲实例(被P2持有),所以P1不能被简化。
    • 总结
      • 经过一轮简化,没有任何进程能够被简化,即无法从资源分配图中移除任何进程及其请求边和分配边。
  3. 结论
    • 根据资源图简化策略,当无法对资源分配图进行简化时,系统处于死锁状态。所以该系统处于死锁状态。