2.1.1前趋图的定义前趋图(procedencegraph)是一个有向无环图DAG(directedacyclicgraph)。图中的每一个顶点可表示一条语句、一个程序段或进程,弧则表示两顶点之间的偏序(partialorder)或前趋关系(procedencerelation)。无前趋的顶点为初始顶点,无后继的顶点称为终止顶点,每个顶点还有一个权值,它表示顶点执行所需的时间。如2它的每一种拓扑排序都是顺序执行时正确得到结果的顺序,有路经的两顶点必须按前趋关系顺序执行,无路经的两顶点则可以并发执行
2.1.1 前趋图的定义 前趋图(procedence graph)是一个有向无环图 DAG (directed acyclic graph)。图中的每一个顶点可 表示一条语句、一个程序段或进程, 弧则表示两顶点 之间的偏序(partial order)或前趋关系(procedence relation)。无前趋的顶点为初始顶点,无后继的顶点 称为终止顶点, 每个顶点还有一个权值, 它表示顶点 执行所需的时间。如 1 3 5 2 4 6 7 它的每一种拓扑排序都是顺序执行时正确得到结 果的顺序,有路经的两顶点必须按前趋关系顺序执行, 无路经的两顶点则可以并发执行
2.1.2程序顺序执行程序顺序执行:程序执行时,必须按某种先后次序,只有当前操作完成后才能执行后继操作,它体现了某种算法。如:Si: a:=x+y;前趋图S2: b:=a-5;S3: c:=b+1;各程序段与此相同,以ICP分别代表输入计算和输出则前趋图:
2.1.2 程序顺序执行 程序顺序执行: 程序执行时, 必须按某种先后次序, 只有当前操作 完成后才能执行后继操作, 它体现了某种算法。如: S1: a:=x+y; S2: b:=a-5; S3: c:=b+1; 各程序段与此相同, 以 I C P分别代表输入计算和输出, 则前趋图: 前趋图 S1 S2 S3 I1 C1 P1 I2 C2 P2
程序顺序执行的特征:程序执行的顺序性:严格按所规定的顺序执行·程序执行的封闭性独占资源,执行过程和结果不受其它程序的影响·程序结果的可再现性(结果的确定性)只要初始状态相同,程序多次重复运行,其结果与程序执行速度无关(连续或间断),结果都应相同
程序顺序执行的特征: • 程序执行的顺序性:严格按所规定的顺序执行 • 程序执行的封闭性 独占资源,执行过程和结果不受其它程序的影响 • 程序结果的可再现性(结果的确定性) 只要初始状态相同,程序多次重复运行,其结果与 程序执行速度无关(连续或间断),结果都应相同
2.1.3程序并发执行多个程序并发执行:在一定时间内物理机器上有两个或两个以上的程序同处于开始运行但尚未结束的状态,并且次序不是事先确定的。宏观上同时处于运行状态微观上各程序交替地间断运行。前趋关系:ZIi-→Ci, Pi-Pi+1Ci-Pi, I-li+1Ci→Ci+1Ii+1, Ci, Pi-1P1P4是重叠的
2.1.3 程序并发执行 多个程序并发执行: 在一定时间内物理机器上有两个或两个以上 的程序同处于开始运行但尚未结束的状态,并且 次序不是事先确定的。宏观上同时处于运行状态 微观上各程序交替地间断运行。 I1 I2 I3 I4 C1 C2 C3 C4 P1 P2 P3 P4 前趋关系: Ii→Ci , Pi→Pi+1 Ci→Pi , Ii→Ii+1 Ii+1, Ci, Pi-1 Ci→Ci+1 是重叠的
·举例说明:假如系统中有两道程序AA和BB:program AA;program BB;beginbeginANB-NN:=N+1;A<←A+1N:=N+1:B-B+1LNALNBEnd;end;intN=1:是AA和BB都能访问的外部公共变量.这两个程序在并发执行,N:=N+1;可分解为3条机器指令,它们的执行顺序不同有可能导致N的值结果不同
• 举例说明: 假如系统中有两道程序AA和BB: program AA; program BB; begin begin . A←N . B←N N:=N+1; A←A+1 N:=N+1; B←B+1 . N←A . N←B End; end; int N=1; 是AA和BB都能访问的外部公共变量,这两 个程序在并发执行, N:=N+1;可分解为3条机器指令,它 们的执行顺序不同有可能导致N的值结果不同