首页/操作系统/02-process/进程控制块PCB 🔗 在 Obsidian 中打开
操作系统 · 02-process

进程控制块PCB

重要度 ★★★★★ PCB进程控制块进程表上下文切换
速查
PCB 是描述进程基本情况和运行状态的数据结构,是进程存在的唯一标志,常驻内存。含四类信息:进程标识符、处理机状态、进程调度信息、进程控制信息;同状态的 PCB 常以链表或索引表组织。

速查

项目
定义描述进程基本情况和运行状态的数据结构
作用进程存在的唯一标志
存放位置常驻内存的 PCB 集中区域(PCB 表/进程表)
管理方式链表(就绪/阻塞队列)或索引表

核心概念

PCB(Process Control Block)是操作系统中用于描述进程的基本数据结构。操作系统通过 PCB 来感知、管理和控制进程。PCB 常驻内存,所有 PCB 组织成链表或索引表。

PCB 包含的信息

  1. 进程标识符(PID):唯一标识进程,包括进程 ID、父进程 ID
  2. 处理机状态(CPU 上下文):通用寄存器、PC(程序计数器)、PSW(程序状态字)、栈指针等
  3. 进程调度信息:进程状态、优先级、已等待时间、已执行时间等
  4. 进程控制信息:程序和数据地址、资源清单(已打开文件、I/O 设备)、进程间通信信息、进程族关系

PCB 的组织方式

  • 链接方式:将同一状态的 PCB 链接成队列(就绪队列、阻塞队列等)
  • 索引方式:建立就绪索引表、阻塞索引表等,按状态分类索引

关键性质

PCB 信息类别包含内容用途
进程标识符PID、父进程 ID唯一标识进程
处理机状态寄存器值、PC、PSW上下文切换时保存/恢复
调度信息状态、优先级、时间片进程调度决策
资源清单内存、文件、设备资源管理与回收
通信信息消息队列、信号进程间通信

常见考法

考法解题套路
PCB 是什么的标志PCB 是进程存在的唯一标志
PCB 中存什么处理机状态(寄存器值)在 PCB 中;程序段和数据段不在 PCB 中
PCB 的组织链接方式(链表)和索引方式(数组/索引表)
上下文切换与 PCB切换时 CPU 寄存器内容保存到当前进程的 PCB 中
创建进程第一步分配 PCB(没有 PCB 就没有进程)

易错点

注意
  • PCB 是进程存在的唯一标志,不是程序存在的标志
  • PCB 常驻内存,程序段和数据段可能部分在外存(虚拟内存)
  • 处理机状态(寄存器值)保存在PCB中,不在程序段中
  • 创建顺序:分配 PCB→分配资源→初始化 PCB→插入就绪队列
  • 终止顺序:从队列移除→释放资源→释放 PCB(最后释放 PCB)

核心结论

必背
  1. PCB 是 OS 中最关键的数据结构,是进程管理和控制的依据
  2. PCB 含四类信息:标识符、处理机状态、调度信息、控制信息
  3. 同状态的 PCB 通常组织为链表,便于调度和管理
  4. 上下文切换本质:保存当前进程 CPU 状态到其 PCB,从新进程 PCB 恢复
  5. OS 感知进程的唯一途径是 PCB——没有 PCB,进程对 OS 不存在

记忆卡片

PCB 是什么的标志?
进程存在的唯一标志。
PCB 含哪四类信息?
进程标识符、处理机状态、进程调度信息、进程控制信息。
处理机状态包含什么?
CPU 寄存器值、PC(程序计数器)、PSW(程序状态字)、栈指针。
PCB 通常如何组织?
链接方式(同状态 PCB 链成队列)或索引方式(索引表)。
创建进程时 PCB 初始化顺序?
分配 PCB→分配资源→初始化 PCB 字段→插入就绪队列。

交互动画 · 就绪队列与上下文切换

就绪队列(PCB 链表:队首→队尾,指针串接) CPU 当前P1
点击「创建进程」把新 PCB 挂到就绪队列尾;「上下文切换」把 CPU 让给下一进程
上下文切换:保存当前 PCB 的寄存器,从新进程 PCB 恢复——PCB 是 OS 感知进程的唯一途径

相关知识点

process-and-thread process-concept-and-features

↑ 以上为站内 HTML 相对链接(纯网页可浏览);本页右上「在 Obsidian 中打开」跳回源笔记。