如何通过虚拟寻址区域中的指针获取物理寻址区域中的地址

How can I get address in physical addressing area by pointer in virtual addressing area?

本文关键字:区域 寻址 地址 获取 何通过 指针 虚拟寻址      更新时间:2023-10-16

如果我在当前进程的虚拟寻址区域中有一个指向固定(页面锁定)内存的地址(指针),那么如何使用 POSIX 获取该内存区域的物理寻址区域中的地址(指针)?

  • 处理器: x86
  • 操作系统: Linux 2.6 和 Windows 7/8(服务器 2008R2)

您无法访问用户空间中的物理地址。您所做的一切都会通过 MMU 和页表。即使固定页面,内核仍可能在物理内存中移动它。

即使你得到了它,它会为你做什么?用户空间进程无法通过物理访问直接访问内存。只有内核模式可以。

如果你真的需要这个功能(虽然我仍然无法想象任何使用信息的方式),你必须编写一个内核模式驱动程序。