定义
上下文切换是指操作系统保存当前运行进程或线程的状态(上下文),并恢复另一个进程或线程状态的过程,以便多个任务能共享同一个 CPU。
上下文切换就像是你在读多本书时,每次换书都要夹好书签并记录读到哪一行,下次拿起书时能直接从书签处继续。它是实现多任务并发的核心机制,让单个 CPU 看起来能同时运行多个程序。
- 核心环节:保存寄存器、程序计数器(PC)和堆栈指针,更新进程控制块(PCB)。
- 触发场景:时间片耗尽、高优先级抢占、I/O 阻塞或系统调用。
- 性能开销:切换过程不执行任何有效工作,且会导致缓存(Cache)和 TLB 失效,是昂贵的系统开销。