有关程序执行

程序的顺序执行

若一个计算机由若干操作组成,而这些操作必须按照某种先后次序来执行,以保证某些操作的结果可为其他一些操作所利用,则这类计算过程就是程序的顺序执行过程
有关程序执行插图
I 输入 C计算处理 P打印输出

顺序程序的特点

顺序性:处理机的操作严格按照程序多规定的顺序执行,每个操作必须在下一个操作开始执行之前结束
封闭性:程序一旦开始执行,其计算结果不受外界因素的影响
可再现性:程序执行的结果与它执行速度无关(即与事件无关),而只与初始条件有关,只要给定相同的输入条件,程序重复执行一定会得到相同的结果

程序的并发执行

大多数计算问题只要求操作在时间是偏序的,即有些操作必须在其他操作之前执行,这是有序的,但其中有的却可以同时进行
有关程序执行插图1
有的程序段是由先后顺序的,有的程序段可以并发执行
若干个程序段同时在系统中运行,这些程序段在时间上是重叠的,一个程序段是执行尚未结束,另一个程序段已经开始,即使这种重叠是很小的一部分,也称这几个程序段是并发执行的
有关程序执行插图2

并发程序的特点

失去程序的封闭性:一个程序可以改变另一个程序的变量
程序与计算不再一一对应:当多个计算任务共享某个程序时,它们都可以调用这个程序
程序并发执行的互相制约:当并发执行的个程序之间需要协同操作完成一个共同的任务时,它们之间具有直接的相互制约关系,且一般这样的程序之间由一定的逻辑联系(竞争资源的间接联系)

进程介绍

现代的所有计算机都能同时做几件事情
伪并行(CPU在多道程序之间快速地切换)
人们很难对多个并行活动进行跟踪,进程是用于描述并行活动的一种模型
从概念上说,每个进程拥有它自己的虚拟CPU,而真正CPU在各进程来回切换(多道程序)