| 项目 | 值 |
|---|---|
| 进程 | 资源分配的基本单位,由程序段、数据段、PCB 组成 |
| 线程 | CPU 调度的基本单位,轻量级进程,共享进程资源 |
| PCB | 进程存在的唯一标志,常驻内存 |
| 切换开销 | 进程切换 > 线程切换(涉及地址空间切换/TLB 刷新) |
进程是资源分配的基本单位,线程是CPU 调度的基本单位。进程由程序段、数据段和 PCB 三部分组成;PCB 是进程存在的唯一标志,常驻内存,操作系统通过 PCB 对进程进行管理和控制。
进程与线程的区别:
线程的实现方式:
| 概念 | 定义 |
|---|---|
| 进程 | 程序的一次执行过程,是系统进行资源分配和调度的独立单位 |
| PCB | 进程控制块,描述进程基本情况和运行状态的数据结构 |
| 进程上下文 | 进程执行时 CPU 中各寄存器值的集合,切换时需保存/恢复 |
| 线程 | CPU 调度的基本单位,轻量级进程,共享进程资源 |
| 模式切换 | CPU 从用户态↔内核态,不涉及进程切换 |
| 进程切换 | 保存当前进程上下文、恢复新进程上下文,开销大于模式切换 |
| 考点 | 说明 |
|---|---|
| PCB 的内容与作用 | 识别哪些信息存于 PCB,PCB 是进程存在的标志 |
| 进程状态转换 | 判断操作导致的状态变化,阻塞→就绪由外因触发 |
| 进程与线程对比 | 从调度、拥有资源、并发性、开销等角度比较 |
| ULT vs KLT | ULT 切换不需内核干预;KLT 需模式切换 |
| 进程切换步骤 | 保存上下文→更新 PCB→入队→选新进程→更新内存结构→恢复上下文 |
↑ 以上为站内 HTML 相对链接(纯网页可浏览);本页右上「在 Obsidian 中打开」跳回源笔记。