前趋图(Precedence Graph)是一个有向无环图,记为:→={(Pi,Pj)}|Pi must complet…
单选题
前趋图(Precedence Graph)是一个有向无环图,记为:→={(Pi,Pj)}|Pi must complete before Pj may start},假设系统中进程P={P1,P2,P3,P4,P5,P6,P7,P8},且进程的前趋图如下图所示。那么,该前驱图可记为( )。
A. →={P1,P2),(P1,P3),(P1,P4),(P2,P5),(P3,P5),(P4,P7),(P5,P6),(P5,P7),(P7,P6),(P4,P5),(P6,P7),(P7,P8)}
B. →={P1,P2),(P1,P3),(P1,P4),(P2,P3),(P2,P5),(P3,P4),(P3,P6),(P4,P7),(P5,P6),(P5,P8),(P6,P7),(P7,P8)}
C. →={P1,P2),(P1,P3),(P1,P4),(P2,P3),(P2,P5),(P3,P4),(P3,P5),(P4,P6),(P5,P7),(P5,P8),(P6,P7),(P7,P8)}
D. →={P1,P2),(P1,P3),(P2,P3),(P2,P5),(P3,P4),(P3,P6),(P4,P7),(P5,P6),(P5,P8),(P6,P7),(P6,P8),(P7,P8)}
答案:B
解析
正确答案:B
B 的边集与图中所有前趋关系一一对应:P1→P2/P3/P4,P2→P3/P5,P3→P4/P6,P4→P7,P5→P6/P8,P6→P7,P7→P8,且整体无环,符合前趋图定义。
- A:混入 P4→P5、P5→P7、P7→P6 等不存在的边,且同时出现 P6→P7 与 P7→P6,形成环。
- C:把 P3→P6 等关系写错,多出 P4→P6、P5→P7,与图不符。
- D:缺少 P1→P4,又多出 P6→P8,边集不完整且有错误。
考点延伸:前趋图用有向无环图描述进程间偏序关系,Pi→Pj 表示 Pi 完成后 Pj 才能开始;若存在环则无法确定执行顺序。实际同步问题中,前趋图常转化为 PV 操作或信号量设计。