当进程的内核模式下发生上下文切换时,页表是否用于存储内核堆栈指针?

当进程的内核模式下发生上下文切换时,页表是否用于存储内核堆栈指针?

我有两个问题;

  1. 假设用户空间应用程序/进程正在内核模式下运行。我知道如果现在发生上下文切换,该进程的内核堆栈指针将存储在task_struct.那是对的吗?为此,PTE在页表中创建一个(页表条目)来将Kernel Stack Pointer(这是一个Virtual address)映射到Physical Address
  2. 对于 a 来说kthread,它是否有页表来支持上下文切换?

答案1

任何虚拟地址只有在它指向的内存区域具有相应的页表条目时才可以使用。在内核模式下运行的进程使用其内核堆栈,因此在需要处理任何上下文切换之前 PTE 已经存在。

无需额外 PTE店铺一个指针,除非需要一个新的内存区域来存储该指针(这里不是这种情况)。

相关内容