什么是进程上下文
进程上下文,意思是可执行程序代码是进程的重要组成部分。进程上下文实际上是进程执行活动全过程的静态描述。 这些代码从 可执行文件 载入到进程的 地址空间 执行。一般程序在 用户空间 执行当一个程序调用了 系统调用 或者触发了某个异常,它就陷入了 内核空间 。此时,我们称 内核 “代表进程执行”并处于进程上下文。在此上下文中current宏是有效的。除非在此间隙有更高 优先级 的进程需要执行并由调度器做出了相应调整,否则在内核退出的时候,程序恢复在用户空间继续执行。 系统调用和 异常处理 程序是对内核明确定义的接口。进程只有通过这些接口才能陷入内核执行——对内核的所有访问都必须通过这些接口。 进程上下文实际上是进程执行活动全过程的静态描述。我们把已执行过的进程指令和数据在相关 寄存器 与 堆栈 中的内容称为上文,把正在执行的指令和数据在寄存器和堆栈中的内容称为正文,把待执行的指令和数据在寄存器与堆栈中的内容称为下文。具体的说,进程上下文包括计算机系统中与执行该进程有关的各种寄存器(例如 通用寄存器 , 程序计数器 PC , 程序状态字寄存器 PS等)的值, 程序段 在经过编译过后形成的 机器指令 代码集,数据集及各种堆栈值PCB结构。这里,有关寄存器和栈区的内容是重要的,例如没有程序计数器PC和程序 状态寄存器 PS,CPU将无法知道下一条待执行指令的地址和控制有关操作。