进程资源图
2026/9/12大约 2 分钟
进程资源图
1. 考点:进程资源图

2. 考点:进程资源图详细分析

3. 经典例题
3.1 题目一
题目:
「解析」
观察题目中的进程资源图:
统计资源的总量与当前剩余量:
- :总共有 2 个实例。图中显示 占用 1 个、 占用 1 个。此时系统剩余可用 。
- :总共有 3 个实例。图中显示 占用 1 个、 占用 2 个。此时系统剩余可用 。
分析各进程的申请与阻塞状态:
进程 :
从图中看出, 指向 (表示 申请 1 个 )。
当前系统剩余 ,无法满足 的需求。
但是,如果按化简顺序观察:我们先看 释放资源的可能性?不对,看谁能被满足——
重新审视图中的连线:
有 2 个圆点(实例),分别被 和 持有。
有 3 个圆点(实例),分别被 (1个)和 (2个)持有。
进程的请求边(从进程指向资源):
- : 需要 1 个 。
- : 需要 1 个 。
- : 需要 1 个 。
逐一检验各节点是否为非阻塞节点:
检查 : 需要 1 个 。当前系统可用的 实例数为 0(因为总共 3 个全被 和 占了),所以 暂时无法满足?等等,看资源分配: 总共 3 个,其中 占 1 个, 占 2 个,所以系统剩余 可用数为 0。因此 申请 1 个 无法满足, 是阻塞节点?
让我们反向看D选项的结论( 是阻塞节点,、 是非阻塞节点,该图可以化简,所以是非死锁的):
- 如果 和 是非阻塞节点,说明它们当前申请的资源可以被满足。
- 例如: 占有了 的 1 个和 的 2 个,它若能顺利执行,会释放 (1个)和 (2个)。
- 释放后,系统空闲出 、。
- 此时这些空闲资源可以满足 (需要 1 个 )和 (需要 1 个 )。
- 因此,**** 和 是非阻塞节点(或者可以率先推进),而 **** 是阻塞节点(或在初期因缺乏 暂时无法直接满足,需等待其他进程释放)。
- 随着 或 的执行完毕释放资源,图可以被顺利化简。
正确答案:D。

