进程上下文切换(Process Context Switch) 是操作系统中一个非常核心的概念,它是实现多任务(Multitasking)的基础。 简单来说,进程上下文切换是指 CPU 从一个进程(Process)切换到另一个进程去执行的过程。 为了让你透彻理解,我们可以从以下几个维度来拆解: --- 1. 什么是“上下文”(Context)? 在 CPU 看来,它不知道什么是“浏览器”或“微信”,它只知道执行指令。为了让一个程序运行,CPU 需要依赖特定的环境,这个环境就是上下文。 进程的上下文主要包括以下几类信息: 1. CPU 寄存器(Registers): 这是最快的数据存储单元。 程序计数器(PC): 记录下一条要执行的指令地址。 栈指针(Stack Pointer): 记录当前栈顶的位置。 通用寄存器: 存储计算过程中的临时数据。 2. 虚拟内存状态(Virtual Memory): 页表(Page Tables): 记录虚拟地址到物理地址的映射关系(这是进程切换最昂贵的部分)。 3. 内核栈与用户栈: 程序函数调用的堆栈信息。 4. 进程控制块(PCB): 操作系统...