3.2.2 进程的概念

1.进程

进程这一术语是在20世纪60年代初期,首先由麻省理工学院的MULTICS系统和IBM公司的CTSS/360系统引入的,其后人们对进程进行了各式各样的定义,这里列举几种比较能反映进程实质的定义:

1)进程是指程序的一次运行,也就是说,进程是在指定内存中的一组指令序列的执行过程。

2)进程是可以与别的计算共同执行的计算。

3)进程可定义为一个数据结构和能在其上进行操作的一个程序。

4)进程是程序在一个数据集合上的过程,它是系统进行资源分配和调度的一个独立单位。

总之,进程的概念可以这样定义:

一个具有独立功能的程序,对某个数据集在处理机上的执行过程,以及资源分配的基本单位。

2.进程的特征

进程的引入是为了更好地描述内存中的程序以及它们的并发执行。进程的特征通常对比顺序执行程序的特征进行讨论的。这里先给出顺序执行程序的特征:

1)顺序性。当顺序程序在处理机上执行时,处理机的操作是严格按照程序所规定的顺序执行的,即每个操作必须在下一操作开始之前结束。

2)资源独占性。程序在运行时独占全机资源,这些资源的状态(除了初始状态外)只由程序本身确定,即只有本程序的操作才能改变它们。

3)确定性。程序执行的结果与它的执行过程无关。换言之,就是程序无论是从头到尾地执行,还是“停停走走”地执行,都不会影响所得结果。

4)可重现性。若程序执行的初始条件相同,则所得结果也相同。

对比程序顺序执行的特征,可以给出进程所具有的几个特征:

1)动态特征。进程的实质是程序的一次执行过程,它有产生、执行、消亡的生命周期,是一个动态的过程。

2)并发特征。引入进程的目的是为了能使程序并发执行。

3)异步特征。进程按照各自独立运行的、不可预知的速度向前推进。

4)独立特征。进程是一个能独立运行的单位,也是系统进行资源分配和调度的一个独立单位。