软考-软件设计师:进程管理-进程资源图

进程资源图

技巧

R -> P,表示 资源分配给进程,这是 确定的

R <- P,表示 进程申请资源,但系统 不一定有资源 分配给该进程,所以是 不确定的

重要概念

非阻塞节点 和 阻塞节点

节点:即进程

系统资源数量,满足进程的需要,该进程为 非阻塞节点

系统资源数量,不满足进程的需要,该进程为 阻塞节点

可化简 和 非死锁

当部分 非阻塞节点,执行 并 释放资源 后,能使得 所有节点 都能 执行,就说该图是 可化简、非死锁;反之,为不可化简的、死锁的

题

在如下所示的进程资源图中,哪个说法正确()

A、P1、P2、P3都是非阻塞节点,该图可以化简,所以是非死锁的
B、P1、P2、P3都是阻塞节点,该图不可以化简,所以是死锁的
C、P1、P2是非阻塞节点,P3是阻塞节点,该图不可以化简,所以是死锁的
D、P2是阻塞节点,P1、P3是非阻塞节点,该图可以化简,所以是非死锁的

分析

先执行 确定的,即:R -> P 资源分配给进程

将分配的资源划掉,如下图:

从上图可知:R1 资源已经分配完了,无法分配给 P2

结论:P2 是 阻塞节点

分析第二步

执行 不确定的,即:R <- P,进程申请资源,但系统 不一定有资源

从上图可知:资源 R2 还剩1个,P1 和 P3 都申请 R2,看上去资源不够分配
其实,P1 和 P3 无论哪个进程申请到资源,执行并释放资源后,都满足另一个进程执行

结论:P1 和 P3 是 非阻塞节点

分析第三步

P1 和 P3 是 执行并 释放资源 后,能够满足 P2 执行

结论: 所有节点都可执行,所以该图是 可化简、非死锁

参考:
https://blog.csdn.net/qq_71654538/article/details/132819749


原文出处:/show_1GWsliM9coe.html