计算机操作系统学习笔记 | 进程

计算机操作系统学习笔记 | 进程

进程

正如我们所知,一个进程是一个程序对某个数据集的执行过程,是分配资源的基本单位。

进程的静态描述由3部分组成:进程控制块 (Process Control Block, PCB) 、有关程序段和该程序段对其进行操作的数据结构集。而PCB(进程控制块)包括了进程的相关描述信息、相关控制信息以及相关资源信息和运行状态。我们常说的创建进程以及撤销进程就是对进程控制块的操作。

进程控制块

我们之前说了,进程控制块描述了进程的基本信息以及运行状态。其实在有些系统中,还包括有进程调度等待所使用的现场保护区。在线程并发执行时,因为操作系统的共享性,各进程共享计算机资源,这就导致各进程之间相互制约。所以在创建一个进程时,应该首先创建进程控制块,之后才能根据进程控制块中的信息对进程采取有效的管理和控制。当一个进程完成其功能后,进程控制块会被释放,进程也会被杀死。

下面介绍一下进程控制块内的基本信息包含哪些信息:

  1. 描述信息:包括进程名或进程标识号、用户名或用户标识号、进程之间的家族关系。
  2. 控制信息:进程当前的状态、进程的优先级、程序开始的地址、进程占有资源和利用资源的有关情况、进程与其他进程之间发生的信息交换情况。
  3. 资源管理信息:有关存储器的信息、使用输入输出设备的信息以及文件系统的相关信息。
  4. PCB中拥有的CPU现场保护结构:可存储推出执行时的进程现场数据。
进程上下文

进程上下文的出现,是因为当一个进程执行到一半需要转向执行另外一个进程时,或者出现中断、等待或程序出错时,需要保存CPU的所有寄存器中的值、进程的状态以及堆栈上的内容。以便再次执行此进程时能够恢复之前的状态。