前趋图 信号量 同步 管程
考点三是整个的进程部分最难的一部分知识点.也是考的最多的一个知识点.
如果一个图中有循环,那么就不能称其为前趋图,前趋图就是数据结构里面提到的拓扑图.
拓扑图结点之间存在着先后的执行顺序,而且同一级的结点可以同时运行,并行的一个执行过程.如果说Pi结点必须在Pj之前完成,
P1没有前趋它就是开始结点/初始结点,P9没有后继结点,那么它就是一个结束结点/终止结点.
P1->P4,只有P1运行完毕了P4才可以开始执行.它们之间存在着前趋关系.当P1运行完毕之后,P2、P3、P4都可以运行了.当P2和P3都运行完之后P5才可以运行.
例题:
四则运算先算乘除后算加减.最开始运行的是B*3和X*9.接下来把B*3的结果再去除以X.接下来再把A加上这一部分结果.最后用前面一部分式子的结果加后面这个式子的结果.这样子就产生了一个运算的先后顺序的关系.这个关系我们可以用一些信号来表示.
S1: Z1=B*3 S1信号表示B*3这个运算 Z1是中间结果
S2: Z2=X*9 Z2也是表示X*9的中间结果.
S3: Z3=Z1/X
S4: Z4=A+Z3
S5: S=Z4+Z2
S1到S5五个操作.这五个操作拥有着一定的先后执行次序.这个执行次序可以用前趋图很好地把它表示出来.
举一个例子说明知识连贯性.比如在组成原理部分就有关于流水线的操作,一般的指令如果说,我们假设每执行一条指令要经过取址、分析和执行这三步.