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

时间:2013-11-05 14:43:04

标签: c++ c memory-management posix virtual-address-space

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

  • CPU:x86
  • 操作系统:Linux 2.6和Windows 7/8(Server 2008R2)

1 个答案:

答案 0 :(得分:2)

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

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

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