2、前驱图和程序执行
2.1前驱图
前趋图是一个有向无循环图,记为DAG(Directed Acyclic Graph),用于描述进程之间执行的前后关系。
例:具有九个结点的前驱图
前驱关系:
P1→P2, P1→P3, P1→P4, P2→P5, P3→P5, P4→P6, P4→P7, P5→P8, P6→P8, P7→P9, P8→P9
2.2、程序的顺序执行及其特征
程序:源代码程序、目标代码程序、可执行程序
程序执行:编辑、编译、链接、执行
程序的结构:顺序结构、分支结构、循环结构
程序顺序执行的特征:
- 顺序性:处理机的操作严格按照程序结构所指定的次序执行。
- 封闭性:程序一旦开始执行,其计算结果不受外界因素影响。
- 可再现性:只要程序执行时的环境和初始条件相同,每次重复执行都将获得相同的结果。
2.3、程序的并发执行及其特征
1.程序的并发执行
所谓程序的并发执行是指:若干个程序同时在系统中执行,这些程序的执行在时间上是重叠的,一个程序的执行尚未结束,另一个程序的执行已经开始。
程序并发执行的特征:
- 间断性
由于资源共享和相互合作,并发执行的程序间形成了相互制约关系,导致程序的运行过程出现“执行—暂停—执行”的现象。 - 失去封闭性
程序在并发执行时,是多个程序共享系统中的资源,因此这些资源的状态将由多个程序来改变。 - 不可再现性
由失去封闭性导致。同样的初始条件,一个程序的多次重复执行,可得到不同的结果。