我有两个问题;
- 假设用户空间应用程序/进程正在内核模式下运行。我知道如果现在发生上下文切换,该进程的内核堆栈指针将存储在
task_struct
.那是对的吗?为此,PTE
在页表中创建一个(页表条目)来将Kernel Stack Pointer
(这是一个Virtual address
)映射到Physical Address
? - 对于 a 来说
kthread
,它是否有页表来支持上下文切换?
答案1
任何虚拟地址只有在它指向的内存区域具有相应的页表条目时才可以使用。在内核模式下运行的进程使用其内核堆栈,因此在需要处理任何上下文切换之前 PTE 已经存在。
无需额外 PTE店铺一个指针,除非需要一个新的内存区域来存储该指针(这里不是这种情况)。