gpt4 book ai didi

x86 - pte 修改是否与通常的内存访问一样通过相同的页表?

转载 作者:行者123 更新时间:2023-12-02 02:45:48 25 4
gpt4 key购买 nike

我知道通常的内存访问将通过页表进行虚拟地址到物理地址的转换。但是pte修改呢?假设操作系统想要修改进程的页表项,它是否也会遍历进程的页表?换句话说,页表中是否有一个条目指向它自己?

最佳答案

这在很大程度上取决于 CPU/MMU/硬件。

在 x86 上,当页面转换已启用时,通常会修改 PTE(不要将其与页表的初始设置混淆,这可以在启用页面转换之前完成),因此内存访问必须涉及虚拟地址到物理地址翻译。

当然,您可以关闭页面翻译。或者您可以使用 DMA 或其他电路(或 CPU)从 CPU 外部更改内存内容。但这很不寻常。

虽然我不知道很多不同的 CPU,但其中一些 CPU 很可能具有特殊功能,可以在访问它们时直接操作 PTE,无需进行地址转换。

在 x86 上,设置页目录(最顶层页表)的方式也很常见,使其条目之一指向页目录。这使您可以访问虚拟地址子范围中的所有 PDE 和 PTE。

关于x86 - pte 修改是否与通常的内存访问一样通过相同的页表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11966676/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com