2.1_1 进程的概念、组成、特征
(一)进程的概念
程序:是静态的,就是一个存放在磁盘里的可执行文件,就是一系列的指令集合。
进程(Process):是动态的,是程序的一次执行过程。
同一个程序多次执行会对应多个进程。
例如,将
QQ.exe
这个程序
打开三次,会显示三个QQ进程
。
问题:操作系统是这些进程的管理者,它要怎么区分各个进程?
如上图,这三个进程,如果都叫
QQ进程
,那就区分不开了。
(二)进程的组成——PCB
接上文问题:操作系统是这些进程的管理者,它要怎么区分各个进程?
答:当进程被创建时,操作系统会为该进程分配一个唯一的、不重复的“身份证号”——PID(Process ID,进程ID)。
除了PID外,对每个进程来说,还会记录其他的信息,如:进程所属用户ID(UID)
。
注:PID、UID——基本的进程描述信息,可以让操作系统区分各个进程。
还要记录给这个进程分配了哪些资源(如:分配了多少内存、正在使用哪些I/O设备、正在使用哪些文件)
注:可用于实现操作系统对资源的管理。
还要记录进程的运行情况(如:CPU使用时间、磁盘使用情况、网络流量使用情况等)。
注:可用于实现操作系统对进程的控制、调度。
上述这些信息,都被保存在一个数据结构PCB(Process Control Block)中,即进程控制块。
操作系统需要对各个并发运行的进程进行管理,但凡管理时所需要的信息,都会被放在PCB中。
(三)进程的组成——程序段、数据段
PCB是给操作系统用的。
程序段、数据段是给进程自己用的。
一个进程实体(进程映像)由PCB、程序段、数据段组成。
进程是动态的,进程实体(进程映像)是静态的。
进程实体反映了进程在某一时刻的状态。(如:x++后,x=2)
注:“进程”和“进程实体”不需要区分的那么细,除非专门问了“进程实体”如何。
程序段、数据段、PCB三部分组成了进程实体(进程映像)。
引入进程实体的概念后,可把进程定义为:
进程是进程实体的运行过程
,是系统进行资源分配和调度的一个独立单位。
注:一个进程被“调度”,就是指操作系统决定让这个进程上CPU运行。
注意:PCB是进程存在的唯一标志。
(四)进程的特征
程序是静态的,进程是动态的,相比于程序,进程拥有以下特征: