为什么我们在每个上下文切换期间将pgd地址写入TTBR0 / TTBR1?

时间:2015-02-24 09:31:26

标签: linux-kernel arm

在Linux内核代码中,为什么在每次上下文切换期间都需要写入pgd(mm_struct-> pgd_t)地址?

pgd对每个进程都是唯一的吗?

1 个答案:

答案 0 :(得分:1)

每个进程都有自己的虚拟内存空间,因此每个进程都有一个全局条目(PGD,Page Global Directory)来开始映射。从PGD,你去PMD,PTE,最后偏移,这有助于映射的稀疏性(你不需要线性映射)。

Understanding the Linux Virtual Memory Manager, Chapter 3

了解详情