要理解进程上下文,先看上下文的英文单词——context,context是上下文/环境/ 来龙去脉 的意思,对进程而言,就是进程执行时的环境,那么环境又是个啥?环境指该进程的状态,包括寄存器变量,进程打开的文件,内存信息等。
知道了进程上下文,进一步阐释上下文切换。
LINUX完全注释中的一段话:
当一个进程在执行时,CPU的所有寄存器中的值、进程的状态以及堆栈中的内容被称 为该进程的上下文。当内核需要切换到另一个进程时,它需要保存当前进程的 所有状态,即保存当前进程的上下文,以便在再次执行该进程时,能够必得到切换时的状态执行下去。在LINUX中,当前进程上下文均保存在进程的任务数据结 构中。在发生中断时,内核就在被中断进程的上下文中,在内核态下执行中断服务例程。但同时会保留所有需要用到的资源,以便中继服务结束时能恢复被中断进程 的执行。
从context的意思展开讲,更有意义。