程序的顺序执行
一个程序由若干个程序段组成,而这些程序段的执行必须是顺序的,这种程序的执行方式就称为程序的顺序执行
程序顺序执行的特征:
- 顺序性:处理机的操作严格按照程序所规定的顺序执行
- 封闭性:程序一旦开始执行其计算结果不受外界影响
- 可再现性:程序执行的结果与它的执行速度无关(即与时间无关),而只与初始条件有关
程序的并发执行
并发:同一时间间隔内发生两个或多个事件
只有不存在前趋关系的程序之间才有可能并发执行,否则无法并发执行。
更准确的应该说是进程的并发执行因为程序是一个静态的概念,进程是对一个程序的执行过程,动态概念。
程序并发执行的特征:
- 间断性
- 失去封闭性
- 不可再现性
失去封闭性导致了不可再现性 不可再现典型例子:共享公共变量
前趋图
一个有向无循环图(DAG),用于描述进程之间的执行的前后关系
结点:表示一个程序段或进程或一条语句
有向边:结点之间的前序或偏序关系 “—>”
若(Pi,Pj)属于有向边则记为:Pi—>Pj,则:Pi是Pj的直接前趋,Pj是Pi的直接后继
- 初始结点:没有前趋
- 终止结点ÿ