![](https://csdnimg.cn/release/download_crawler_static/6286561/bg4.jpg)
发,称进程是一个独立的可以调度的活动(Ellis.Cohen,DavidJofferson);有人则从资源共享和竞
争方面观察,认为进程是一个抽象的实体,当它执行一个任务时将要求分配和释放各种资源
(Peterdenning)。这些描述都注意到了进程的动态性质,但侧重面不同。为了突出进程和程序
两个概念的区别和联系,我们对进程作如下描述:进程是一种活动,它是由一个动作系列组
成,每个动作是在某个数据集上执行一段程序,整个活动的结果是提供一种系统或用户功能。
2. 进程与程序的区别
我们再为进程和程序之间的区别和联系作以下几点说明。
1)进程是程序的一次运行活动,属于一种动态的概念。程序是一组有序的静态指令,
是一种静态的概念。但是,进程离开了程序也就没有了存在的意义。因此,我们可以这样说:
进程是执行程序的动态过程,而程序是进程运行的静态文本。如果我们把一部动画片的电影
拷贝比拟成一个程序,那么这部动画片的一次放映过程就可比为一个进程。
2)一个进程可以执行一个或多个程序。例如:一个进程进行 C 源程序编译时,它要执
行前处理、词法语法分析、代码生成和优化等几个程序。反之,同一程序也可能由多个进程
同时执行,例如:上述 C 编译程序可能同时被几个程序执行,它们对相同或不同的源程序
分别进行编译,各自产生目标程序。我们再次以动画片及其放映活动为例,一次电影放映活
动可以连续放映几部动画片,这相当于一个进程可以执行几个程序。反之,一部动画片可以
同时在若干家电影院中放映,这相当于多个进程可以执行几个同一程序。不过要注意的是,
几家电影院放映同一部电影,如果使用的是同一份拷贝,那么实际上是交叉进行的。但在多
处理机情况下,几个进程却完全可以同时使用一个程序副本。
3)程序可以作为一种软件资源长期保持着,而进程则是一次执行过程,它是暂时的,
是动态地产生和终止的。这相当于电影拷贝可以长期保存,而一次放映活动却只延续 1~2
小时。
进程需要使用一种机构才能执行程序,这种机构称之为处理机(Processor)。处理机执行
指令,根据指令的性质,处理机可以单独用硬件或软、硬件结合起来构成。如果指令是机器
指令,那么处理机就是我们一般所说的中央处理机(CPU)。
3. 进程的并发性和不确定性
并发性:并发可以看成是在系统中同时有几个进程在活动着,也就是同时存在几个程序
的执行过程。如果进程数与处理机数相同,则每个进程都占用一个处理机。但更一般的情况
是是处理机数少于进程数,于是处理机就应被共享,在进程间进行切换使用。如果相邻两次
切换的时间间隔非常短,而观察时间又相当长,那么各个进程都在前进,造成一种宏观上并