gpt4 book ai didi

linux - 使用 mmu 在 linux 内核中进行 x86 分页

转载 作者:太空狗 更新时间:2023-10-29 12:06:07 24 4
gpt4 key购买 nike

x86 arch,linux kernel 2.6.x,32bit系统

我理解为虚拟地址0xC0000000 ~ 0xFFFFFFFF

保留给内核。

这个虚拟地址可以通过以下方式转换为物理地址

减去 0xC0000000。

然而,我认为即使结果相同,MMU 也会翻译

内核虚拟地址(如0xC0851000)遍历页表到物理地址。

比如

CR3 -> 页目录 -> 页表 -> PFN。

我是对还是错?如果我错了,请指正。

我需要在x86、linux 32位系统上开发基于硬件的内核监视器。

所以我需要知道这个问题

请帮忙。

最佳答案

对于内核逻辑地址,你是正确的。然而,内核虚拟地址(如 vmalloc 分配的内存)不一定具有到表征逻辑地址空间的物理地址的一对一映射。

请记住,内核逻辑地址并不总是通过减去偏移量转换为物理地址(在 x86 中是这样,但在 AVR32 中不是这样)。

关于linux - 使用 mmu 在 linux 内核中进行 x86 分页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11613048/

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