进程的定义

  • 程序:是存放在磁盘中的可执行文件,是一系列的指令集合(静态的)
  • 进程(Process):是程序的一次执行过程,同一个程序可能有多个进程(动态的)

内存中同时放入多道程序,各个程序的代码、运算数据存放的位置不同。操作系统要怎么才能找到各程序的存放位置呢?

为了方便操作系统管理,完成各程序并发执行,引入了进程、进程实体(进程映像)。

程序段、数据段、PCB 三部分组成了进程实体进程映像)。一般情况下,我们把进程实体就简称为进程,例如,所谓创建进程,实质上是创建进程实体中的 PCB;而撤销进程,实质上是撤销进程实体中的 PCB。

⚠️ 注意:PCB 是进程存在的唯一标志!

从不同的角度,进程可以有不同的定义,比较传统典型的定义有:

  1. 进程是程序的一次执行过程;
  2. 进程是一个程序及其数据在处理机上顺序执行时所发生的活动;
  3. 进程是具有独立功能的程序在数据集合上 运行的过程,它是系统进行资源分配和调度的一个独立单位。

⭐️ 进程是进程实体的运行过程,是系统进行资源分配调度的一个独立单位。

进程的组成

PCB

PCB(Process Control Block)

操作系统对进程管理工作所需的想逆袭都存放在 PCB 中。

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

进程的定义、组成、组织形式和特征 - 图1

程序段

程序段:存放要执行的代码

数据段

数据段:存放程序运行过程中处理的各种数据(如:程序中定义的变量)

进程的组织

在一个系统中,通常有数十、数百乃至数钱个 PCB。为了能对他们加以有效的管理,应该用适当的方式把这些 PCB 组织起来。

进程的组成讨论的是一个进程内部由哪些部分构成的问题;而进程的组织讨论的是多个进程之间的组织方式问题。

进程的定义、组成、组织形式和特征 - 图2

链接方式:

  • 执行指针(指向当前处于运行态(执行态)的进程)
    • -> PCB2(单 CPU 计算机中,相同时刻只会有一个进程处于运行态)
  • 就绪队列指针(指向当前处于就绪态的进程)
    • PCB5 -> PCB1 -> PCB4(通常会把优先级高的进程放在队头)
  • 阻塞队列指针(指向当前处于阻塞态的进程,很多操作系统还会根据阻塞原因不同,再分为多个阻塞队列)
    • PCB3 -> PCB7 -> PCB6

索引方式:

image.png

进程的定义、组成、组织形式和特征 - 图4

特征

进程的定义、组成、组织形式和特征 - 图5

动态性

动态性是进程最基本的特征。

并发性

独立性

进程是资源分配、接受调度的基本单位。

异步性

异步性会导致并发程序执行结果的不确定性。

结构性