语句(statement)是指高级语言中用于表达处理动作的基本单位,用以描述程序中的运算步骤、控制结构及数据传输[1]
。从语句的执行方式来看,语句可分为顺序语句与并发语句。语句执行次序是指语句执行的方式,一般分为顺序执行和并发执行。
中文名
语句执行次序
外文名
statement execution order
学 科
计算机定 义
语句执行的方式
形 式
顺序执行和并发执行
领 域
计算机系统
语句执行次序顺序执行
编辑
语音
语句执行次序定义
顺序执行是程序的一种执行方式。是把一个具有独立功能的程序独占处理机直至最终结束的过程称为程序的顺序执行。
语句执行次序程序顺序执行时的特征
(1) 顺序性:处理机的操作严格按照程序所规定的顺序执行,即每一操作必须在上一个操作结束之后开始。
(2) 封闭性:程序是在封闭的环境下执行的,即程序运行时独占全机资源,资源的状态(除初始状态外)只有本程序才能改变它。 程序一旦开始执行, 其执行结果不受外界因素影响。
(3) 可再现性:只要程序执行时的环境和初始条件相同,当程序重复执行时,不论它是从头到尾不停顿地执行,还是“停停走走”地执行,都将获得相同的结果。程序顺序执行时的特性,为程序员检测和校正程序的错误带来了很大的方便。
语句执行次序并发执行
编辑
语音
语句执行次序定义
并发的本质是一个CPU在多个程序运行过程中的时分复用。并发对有限的系统资源实现多用户共享,消除计算机软硬件之间的互相等待现象,以提高系统资源利用率。对于多CPU系统,可让各程序在不同CPU上并行执行,以加快计算速度。并发还可以简化程序设计任务,即一个较大较复杂的程序可以被分成几个能够同时运行的小程序,每个小程序的逻辑可获得一定的简化[2]
。
语句执行次序并发执行时的特征
程序的并发执行,虽然提高了系统吞吐量,但也产生了下述一些与程序顺序执行时不同的特征。
1) 间断性
序在并发执行时,由于它们共享系统资源,以及为完成同一项任务而相互合作,致使在这些并发执行的程序之间,形成了相互制约的关系。例如,图1中的 I、C 和 P 是三个相互合作的程序,当计算程序完成的计算后,如果输入程序 I 尚未完成
的处理,则计算程序就无法进行
的处理,致使计算程序必须暂停运行。又如,当打印程序完成
的打印后,若计算程序尚未完成
的计算,则打印程序就无法对
的计算结果进行打印。一旦使程序暂停的因素消失后(如
已处理完成), 计算程序便可恢复执行对
的处理。 简而言之,相互制约将导致并发程序具有“执行—暂停—执行”这种间断性的活动规律。
图1
2) 失去封闭性
程序在并发执行时,是多个程序共享系统中的各种资源,因而这些资源的状态将由多个程序来改变,致使程序的运行失去了封闭性。这样,某程序在执行时,必然会受到其它程序的影响。例如,当处理机这一资源已被某个程序占有时,另一程序必须等待。
3) 不可再现性
程序在并发执行时,由于失去了封闭性,也将导致其再失去可再现性。例如,有两个循环程序 A 和 B,它们共享一个变量 N。程序 A 每执行一次时,都要做 N:=N+1 操作;程序 B 每执行一次时,都要执行 Print(N)操作,然后再将 N 置成“0” 。程序 A 和 B 以不同的速度运行。这样,可能出现下述三种情况(假定某时刻变量 N 的值为 n)。
(1) N:=N+1 在 Print(N)和 N:=0 之前,此时得到的 N 值分别为 n+1,n+1,0。
(2) N:=N+1 在 Print(N)和 N:=0 之后,此时得到的 N 值分别为 n,0,1。
(3) N:=N+1 在 Print(N)和 N:=0 之间,此时得到的 N 值分别为 n,n+1,0。
上述情况说明,程序在并发执行时,由于失去了封闭性,其计算结果已与并发程序的执行速度有关,从而使程序的执行失去了可再现性,亦即,程序经过多次执行后,虽然它们执行时的环境和初始条件相同,但得到的结果却各不相同。
语句执行次序并发程序设计
编辑
语音
一种程序设计。是设计、编制和调试并发程序的技术。一个并发程序由若干个可同时执行的程序模块组成。这种可同时执行的程序模块称为并发进程,由数据和有关的语句序列组成.并发进程的执行在时间上是重叠的,因此,一个并发程序的多个并发进程可以同时在多台处理器上并行执行,也可以在一台处理器上穿插执行。采用并发程序设计方法的好处是:可以使计算机的外围设备和处理器并行工作,缩短程序执行时间,提高计算机系统的效率。要有效地采用并发程序设计,必须提供并发程序设计语言,防止死锁的算法和同步机制等。
1.并发程序设计语言。并发程序设计语言的主要特征是引入了进程概念,这种语言提供实现进程同步和通信的手段。这类语言有并发PASCAL,Modula-2,ADA等。
2.死锁的预防和检测.进程因争夺资源而无休止地相互等待称为死锁.解决死锁问题有两种途径:一是预防死锁,设计各种资源调度算法,积极地防止死锁的发生;二是检测死锁,当死锁发生时能及时地发现并进行排除。
3.同步机制。在并发程序设计中,各进程对公共变量的访问必须加以制约,这种制约称为同步。进程的同步是通过同步机制实现的。代表性的同步机制有PV操作和管程等。PV操作是最早提出的用来解决公共变量问题的同步操作。管程是指一组公共数据同与其有关的操作的集合,只有引用管程中的操作才能访问管程中的数据。
词条图册
更多图册
参考资料
1.
张效祥.计算机科学技术百科全书:清华大学出版社,2005
2.
林果园,路亚萍,朱长征等编著.计算机操作系统:清华大学出版社,2011