一、进程的概念
进程是程序的一次执行过程
进程与程序的区别:
程序是静态的,是存放在磁盘中的一个可执行文件,是一系列指令的合集
进程是动态的,是程序的一次执行过程,同一个程序多次执行会对应多个进程
既然同一个程序多次执行会有多个进程,那么操作系统如何区分这些进程?
当进程被创建时,操作系统会为每一个进程分配唯一的、不重复的“身份证号”——PID,即Process ID,进程ID。
二、进程的组成
进程由PCB、程序段、数据段组成
PCB:也叫进程控制块,是一种数据结构,是进程存在的唯一标志。当进程被创建时,PCB也会随之创建,当进程结束时,PCB也会被操作系统回收。PCB用于存储操作系统对进程管理时所需要的所有信息,包括进程ID(PID)、进程所属用户(UID)、进程被分配的内存大小、使用的文件、使用的I/O设备、CPU运行时间、磁盘使用情况、网络流量使用情况等等。操作系统掌握了进程PCB,就可实现对进程的控制和调度。
程序段:包含程序的代码,即一系列指令合集
数据段:包含程序运行过程中的产生的各种数据,如程序代码中定义的变量
补充:PCB是为操作系统服务的,而程序段和数据段是为进程自身服务的
三、进程实体
进程实体也叫进程映像。进程实体是进程在某一时刻的状态。
进程是动态的,而进程实体是静态的。前面讲的进程的组成,其实更严谨地来说是进程实体的组成。而进程是由进程实体组成的。
四、进程的特征
1.动态性:进程是程序的一次执行过程,是动态地产生、变化和消亡的
2.并发性:内存中可以有多个进程,各个进程并发运行
3.独立性:进程是独立运行的,独立获得资源,独立接受调度的基本单位
4.异步性:各进程是按各自独立的、不可预知的速度向前推进的,操作系统需要提供“进程同步机制”来解决异步问题
5.结构性:结构上,进程由PCB、程序段和数据段组成