进程上下文是进程执行活动全过程的静态描述。我们把已执行过的进程指令和数据在相关寄存器与堆栈中的内容称为进程上文,把正在执行的指令和数据在寄存器与堆栈中的内容称为进程正文,把待执行的指令和数据在寄存器与堆栈中的内容称为进程下文。
实际上linux内核中,进程上下文包括进程的虚拟地址空间和硬件上下文。
虚拟地址空间切换:简单地将进程的pgd虚拟地址转化为物理地址存放在ttbr0_el1寄存器中,就完成了虚拟地址空间上下文切换:
硬件上下文切换:其实就是保存需要保存的寄存器值,加载需要加载的寄存器的值。
全图:
原文链接:Linux内核进程上下文切换深入理解
https://zhuanlan.zhihu.com/p/674623954
https://link.zhihu.com/?target=https%3A//blog.csdn.net/lx123010/article/details/108851345