软考-软件设计师:进程管理-前趋图

需要掌握:

  1. 软考-软件设计师:信号量机制、PV操作实现进程的互斥和同步

介绍

前驱图是一种用来描述程序(或进程)之间 先后执行顺序 的有向无环图(简称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


原文出处:/show_1GWsUPCCwEv.html