Linux 系统中, 用户态到内核态切换的过程中发生了什么?

在Linux0.11系统中,所有中断服务程序都属于内核代码。 若中断时,进程在执行用户态的代码,该中断会引起CPU特权级从3级到0级的切换,此时CPU会进行堆栈的切换,CPU会从当前任务的TSS中取到新堆栈的段选择符和偏移值;CPU首先会把原用户态的堆栈指针ss和esp压入内核态堆栈,随后把标志寄存器eflags的内容和此次中断的返回位置cs,eip压入内核态堆栈。当中断处理函数结束后,将恢复内核
相关文章
相关标签/搜索