是共享所有进程的内核堆栈还是每个进程都有一个单独的内核堆栈?如果每个进程都是单独的,那么这个堆栈指针存储在哪里?在 task_struct 中?
最佳答案
只有一个公共(public)内核内存。其中每个进程都有自己的 task_struct + 内核堆栈(默认为 8K)。
在上下文切换中,旧堆栈指针保存在某处,实际堆栈指针指向将要运行的新进程的堆栈顶部(或底部,具体取决于硬件架构)。
关于linux - linux进程的内核堆栈,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/886807/