以下短语是什么意思:"内核在流程上下文中执行" ?
这是否意味着如果CPU正在执行某个进程然后发生某些中断(系统调用,按键等), CPU将保持当前正在运行的进程的页表并且那么它会执行驻留在进程内核空间的中断处理程序吗?
如果这意味着什么,那么似乎中断处理程序在进程上下文中执行,那么中断上下文意味着什么呢?
答案 0 :(得分:3)
流程上下文是其当前状态。
我们需要保存当前正在运行的进程的context
,以便在处理完中断后恢复它
进程上下文基本上是它的当前状态(寄存器中的内容)。
esp
ss
eip
cs
and more.
我们需要保存instruction pointer (EIP)
和CS (Code Segment)
,以便在处理完中断后我们可以继续从我们停止的地方开始运行。
中断处理程序代码驻留在Kernel
内存中。一旦发生中断,我们立即从用户模式切换到内核模式。保存当前运行进程的状态,其中一部分在用户堆栈上,另一部分在内核堆栈上(取决于体系结构)。假设它是x86
,则通过从ss
和{{1}加载适当的cs
,esp
,eip
和TSS
来运行中断处理程序}}