Linux kernel Linux页表

Linux kernel Linux页表,linux-kernel,operating-system,virtual-memory,mmu,page-tables,Linux Kernel,Operating System,Virtual Memory,Mmu,Page Tables,在Linux中,有pgd_offset、pmd_offset和pte_offset等函数用于索引pgd、pmd和pte。谁调用这些函数?MMU是否使用这些函数遍历页面表 我的理解是,linux内核为每个进程创建一个页表,并将页表的基址传递给页表基址寄存器,以便MMU可以访问它。MMU之后如何读取页表?如果MMU是读取页表的MMU,谁会使用这些pgd_offset等函数 MMU之后如何读取页表 MMU使用硬件加速方法读取内存。实际查找是特定于体系结构的:就像指令解析过程一样 如果MMU是读取页表的

在Linux中,有pgd_offset、pmd_offset和pte_offset等函数用于索引pgd、pmd和pte。谁调用这些函数?MMU是否使用这些函数遍历页面表

我的理解是,linux内核为每个进程创建一个页表,并将页表的基址传递给页表基址寄存器,以便MMU可以访问它。MMU之后如何读取页表?如果MMU是读取页表的MMU,谁会使用这些pgd_offset等函数

MMU之后如何读取页表

MMU使用硬件加速方法读取内存。实际查找是特定于体系结构的:就像指令解析过程一样

如果MMU是读取页表的MMU,谁会使用这些pgd_offset等函数

有时,内核代码希望通过虚拟地址查找结构页。为了做到这一点,它必须使用这些函数(AFAIK,没有用于MMU地址查找的API。因此,它也必须在内核中实现)。

Look。