首页
学习
活动
专区
圈层
工具
发布

Linux页表
EN

Stack Overflow用户
提问于 2016-09-24 06:05:22
回答 1查看 587关注 0票数 0

在Linux中,有一些函数,如pgd_offset、pmd_offset和pte_offset,用于对pgd、pmd和pte进行索引。谁叫这些功能?MMU是否使用这些函数来遍历页面表?

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

EN

回答 1

Stack Overflow用户

发布于 2016-09-24 15:09:35

之后MMU是如何读取页面表的?

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

如果MMU是读取页面表的人,那么谁使用这些pgd_offset等函数?

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39673092

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档