标签: operating-system kernel interrupt interrupt-handling
我正在阅读如何在过程映像中执行模式切换,并且我对过程映像为什么有内核堆栈而不仅仅是用户堆栈感到困惑?这是在发生中断时完成的。用户堆栈和内核堆栈是否也做同样的事情?
答案 0 :(得分:2)
它的安全性。对于每个处理器模式,进程通常具有一个堆栈。通常存在系统范围或进程中断堆栈,这是一个额外的内核模式堆栈。
内核堆栈仅限于内核模式访问。这可以防止用户模式代码与内核堆栈相混淆,从而在内核模式下发生坏事(例如,更改过程中的返回地址)。