Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux kernel 为什么我们在每次上下文切换期间将pgd地址写入TTBR0/TTBR1?_Linux Kernel_Arm - Fatal编程技术网

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

Linux kernel 为什么我们在每次上下文切换期间将pgd地址写入TTBR0/TTBR1?,linux-kernel,arm,Linux Kernel,Arm,在Linux内核代码中,为什么在每次上下文切换期间都需要写入pgd(mm_struct->pgd_t)地址 pgd对每个进程都是唯一的吗?每个进程都有自己的虚拟内存空间,因此每个进程都有一个全局条目(pgd,页面全局目录)来开始映射。从PGD转到PMD、PTE,最后是偏移量,这有助于减少映射的稀疏性(不需要线性映射) 更多信息请访问

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


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

每个进程都有自己的虚拟内存空间,因此每个进程都有一个全局条目(pgd,页面全局目录)来开始映射。从PGD转到PMD、PTE,最后是偏移量,这有助于减少映射的稀疏性(不需要线性映射)

更多信息请访问