Skip to content
难度基础(★)
建议时长45分钟

2.2.1 进程的概念概述

本课核心知识点整理
本课核心知识点手绘流程图(SVG)

本节导学

进程管理是操作系统章节的主线之一。它回答的问题是:一个程序运行起来以后,操作系统怎样识别它、给它资源、暂停它、恢复它、让它和其他程序并发推进。

程序和进程的区别必须先建立起来:程序是静态的指令集合,可以长期放在磁盘上;进程是程序的一次动态执行过程,会占用内存、CPU 时间、打开文件等资源,也会经历创建、运行、等待、终止等状态变化。同一个程序可以产生多个进程,例如同一个应用打开多个运行实例。

程序、进程与 PCB

概念直觉考试关键词
程序存在磁盘上的静态代码和数据静态、指令集合、尚未运行
进程程序的一次运行活动动态、资源分配、调度、状态变化
PCB操作系统管理进程的数据结构进程控制块、状态、现场、资源、调度信息

进程通常由程序段、数据段和 PCB 组成。程序段是要执行的指令,数据段是运行时使用的数据,PCB 是操作系统“认识并管理这个进程”的依据。没有 PCB,操作系统就无法知道进程当前处于什么状态、执行到哪条指令、占用了哪些资源、被暂停后如何恢复。

进程为什么是动态概念

进程会创建、运行、暂停、等待资源、被唤醒、终止。它不是一个固定文件,而是一个不断变化的执行实体。后面的三态模型和五态模型,正是为了描述这种动态变化。

这种动态性也是并发的基础。单 CPU 同一时刻只能运行一个进程,但操作系统可以通过快速切换,让多个进程在宏观上同时推进。切换时必须保存当前进程的现场,再恢复另一个进程的现场;这些现场信息仍然离不开 PCB。

进程的基本特征

特征含义容易误解的点
动态性有生命周期,会创建、执行、等待、终止程序静态,进程动态
并发性多个进程可宏观同时推进单 CPU 上不是微观真正同时
独立性进程通常是资源分配和保护的基本单位调度执行单位可进一步细化到线程
异步性进程推进速度不可预知调度、I/O、资源等待都会打断进程

与后续知识的关系

进程状态图解释“进程什么时候运行、什么时候等 CPU、什么时候等事件”;调度算法解释“就绪队列里谁先拿到 CPU”;PV 操作解释“并发进程如何互斥与同步”;死锁解释“多个进程持有资源并互相等待时为什么卡住”。这些内容都建立在“进程是动态执行实体,操作系统通过 PCB 管理它”的前提上。

做题路线

  1. 题干说磁盘上的代码、静态指令集合,判断为程序。
  2. 题干说正在运行、申请资源、等待 CPU、被调度,判断为进程。
  3. 题干说操作系统识别和管理进程的数据结构,选 PCB。
  4. 题干问资源分配基本单位,通常选进程;问更细的调度执行单位,要联想到线程。

例题

单选
关于程序和进程的关系,正确的是:
单选
操作系统识别和管理进程的主要数据结构是:
单选
进程有创建、运行和结束过程,体现了进程的:

自查要点

  1. 为什么说进程不是程序本身?
  2. PCB 中为什么必须保存进程状态和现场?
  3. 一个程序能不能对应多个进程?