需要掌握:
介绍
前驱图是一种用来描述程序(或进程)之间 先后执行顺序 的有向无环图(简称DAG, Directed Acyclic Graph)。
前趋图由 结点 和 有向边 两部分组成:
- 结点:表示一个程序、进程
- 有向边:表示结点之间的前驱关系。
顺序执行前驱图
并发执行前驱图
总结
- 有后继就有
V操作释放资源,否则后面节点 无法申请 到资源 - 有前驱就有
P操作申请资源。如:D操作,申请到A、B、C的资源时,才能往下执行
- 有几个箭头就有几个信号量
- 并发的信号量初始值一般为
0
前趋图 与 PV操作
表达方式1
表达方式2
题1
A、V(S1)V(S2)、P(S1)V(S3)和V(S4)
B、P(S1)V(S2)、P(S1)P(S2)和V(S1)
C、V(S1)V(S2)、P(S1)P(S3)和V(S4)
D、P(S1)P(S2)、V(S1)P(S3)和V(S2)
A、P(S2)、V(S3)V(S5)和P(S4)P(S5)
B、V(S2)、P(S3)V(S5)和V(S4)P(S5)
C、P(S2)、V(S3)P(S5)和P(S4)V(S5)
D、V(S2)、V(S3)P(S5)和P(S4)V(S5)
第一个答案:C
解答a填写
P1 只有后继,没有前驱,说明只有 V操作;因为有两条边,所以 V(S1)、V(S2)
解答b填写
P2 有2个前驱,前驱是 P操作 ,是 P(S1)、P(S3)
解答c填写
P2 只有1个后继,后继是 V操作,是 V(S4)
第二个答案:A
解答d填写
P3 有一个前驱,前驱是 P操作 ,是 P(S1)
解答e填写
P3 有2个后继,后继是 V操作,是 V(S2)、V(S4)
解答f填写
P4 有2个前驱,前驱是 P操作 ,是 P(S2)、P(S3)
参考:
https://blog.csdn.net/Dontla/article/details/104610211




