上下文切换¶
来源:
操作系统 / note/概述/上下文切换.md
单个 CPU 核心在同一时刻只能运行一个进程。操作系统通过上下文切换制造出多个进程“同时”运行的假象(并发)。
保存现场: 当操作系统决定暂停当前运行的进程 A 时,会将 CPU 当前的所有状态(程序计数器、各种通用寄存器的值、栈指针等)保存到进程 A 的 PCB 中。
调度: 调度器从就绪队列中挑选下一个要运行的进程 B。
恢复现场: 操作系统将进程 B 的 PCB 中保存的寄存器值和程序计数器加载回 CPU 中。
继续执行: CPU 接着执行进程 B 的代码。
这种切换往往需要借助底层的系统调用或硬件中断来触发。例如,通过特定的汇编指令触发软中断,进入内核态,完成环境的保存与切换,然后再跳转到新任务的第一条指令开始运行。