早期的计算机只支持单道程序,程序的代码放在程序段内,程序运行过程处理的数据放在数据段内(如变量)。
引入多道程序技术以后,系统为每个运行的程序配置一个数据结构,称为进程控制块(PCB),用来描述进程的各种信息(如程序代码存放位置)。为了方便操作系统管理,完成各程序并发执行,引入了进程、进程实体的概念。
PCB、程序段、数据段三部分构成了进程实体(进程映像)。一般情况下,我们把进程实体就简称为进程,例如所谓创建进程,实质上是创建进程实体中的PCB;而撤销进程,实质上是撤销进程实体中的PCB。
3、进程是具有独立功能的程序在数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。
进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位。
注:严格来说,进程实体和进程并不一样,进程实体是静态的,进程则是动态的。不过,除非题目专门考察二者区别,否则可以认为进程实体就是进程。因此我们也可以说“进程由程序段、数据段、PCB三部分组成”。
数据段:程序运行时使用、产生的运算数据。如全局变量、局部变量、宏定义的常量就存放在数据段内。
PCB:操作系统通过PCB来管理进程,因此PCB中应该包含操作系统对其进行管理所需的各种信息。
在一个系统中,通常有数十、数百乃至数千个PCB。为了能对他们进行有效的管理,应该用适当的方式把这些PCB组织起来。
注:进程的组成讨论的是一个进程内部由哪些部分构成的问题,而进程的组织讨论的是多个进程之间的组织方式问题。