进程切换原理
什么是CPU上下文
Linux是一个多任务操作系统,它支持远大于CPU核心数的任务同时进行。当然,这些任务并不是真的同时在运行,而是因为系统在很短的时间内,将CPU轮流分配给它们,造成多任务同时运行的错觉。每个任务在运行前,CPU都需要知道任务从哪来加载,又从哪里开始运行,也就是说,需要事先帮它们设置好CPU寄存器和程序计数器( Program Counter,PC )。
CPU寄存器:是CPU内置的容量小、但速度快的内存,用来临时存放指令执行运行过程中的操作数和中间(最终)的操作结果。
程序计数器:是用来存储CPU正在运行的指令位置、或者即将执行的下一条指令位置。
CPU寄存器和程序计数器是CPU运行任何任务前,必须依赖的环境,也被称作CPU上下文。