进程的概念、组成、特征
廖家龙 用心听,不照做

进程的概念

程序:是静态的,就是个存放在磁盘里的可执行文件,就是一系列的指令集合

进程(Process):是动态的,是程序的一次执行过程,同一个程序多次执行会对应多个进程

进程是进程实体的运行过程,是系统进行资源分配和调度的一个独立单位(一个进程被调度,就是指操作系统决定让这个进程上CPU运行)

进程的组成:PCB、程序段、数据段

操作系统是进程的管理者,当进程被创建时,操作系统会为该进程分配一个唯一的、不重复的“身份证号”:PID(Process ID,进程ID)

  • 操作系统要记录PID、进程所属用户ID(UID):基本的进程描述信息,可以让操作系统区分各个进程
  • 还要记录给进程分配了哪些资源(分配了多少内存、正在使用哪些I/O设备、正在使用哪些文件):可用于实现操作系统对资源的管理
  • 还要记录进程的运行情况(CPU使用时间、磁盘使用情况、网络流量使用情况、进程当前的状态:就绪态/阻塞态/运行态):可用于实现操作系统对进程的控制、调度
  • 处理机相关信息:PSW、PC等各种寄存器的值,用于实现进程切换

这些信息都被保存在一个数据结构PCB(Process Control Block)中,即进程控制块,操作系统需要对各个并发运行的进程进行管理,但凡管理时所需要的信息,都会被放在PCB中

PCB是进程存在的唯一标志,当进程被创建时,操作系统为其创建PCB,当进程结束时,会回收其PCB

程序段:程序的代码(指令序列)

数据段:运行过程中产生的各种数据(如程序中定义的变量)

PCB是给操作系统用的,程序段和数据段是给进程自己用的,与进程自身的运行逻辑有关

一个进程实体(进程映像)由PCB、程序段、数据段组成,进程是动态的,进程实体(进程映像)是静态的,进程实体反映了进程在某一时刻的状态

进程的特征

程序是静态的,进程是动态的,相比于程序,进程拥有以下特征:

  • 动态性:进程是程序的一次执行过程,是动态的产生、变化和消亡的,动态性是进程最基本的特征
  • 并发性:内存中有多个进程实体,各进程可并发执行
  • 独立性:进程是能独立运行、独立获得资源、独立接受调度的基本单位
  • 异步性:各进程按各自独立的、不可预知的速度向前推进,操作系统要提供“进程同步机制”来解决异步问题
  • 结构性:每个进程都会配置一个PCB,结构上看,进程由程序段、数据段、PCB组成