linux内核分析
中断是在同一个进程的上下文中(在中断函数中可能产生进程调度),
而进程上下文切换时在两个进程之间进行切换。中断 用户态陷入内核态。进程调度是在内核态完成的。
中断的执行过程
1.内核把当前eip esp等压到内核堆栈里面去 然后把eip的内容放到中断函数开始处产生中断。例如: int指令会在堆栈(内核堆栈)上保存一些寄存器的值(用户态栈顶地址,当时的状态字,当时的eip的值)。然后把 cs:eip(中断服务程序入口) ss:esp(指向内
中断的执行过程
1.内核把当前eip esp等压到内核堆栈里面去 然后把eip的内容放到中断函数开始处产生中断。例如: int指令会在堆栈(内核堆栈)上保存一些寄存器的值(用户态栈顶地址,当时的状态字,当时的eip的值)。然后把 cs:eip(中断服务程序入口) ss:esp(指向内