如何为已分配的页面获取新的虚拟内存地址?

How to a get a new virtual memory address to an already allocated page?

我可以为已分配的页面接收新的虚拟地址吗?

如果有,系统调用是什么? (最好在 Linux 上)

不完全确定你在这里问什么但是:

  • 一点研究(第一个答案 here)表明在一般情况下您可以通过 mmap'ing /proc/PID/mem 来做到这一点。没有尝试过,但假设它有效,它将允许您访问调用进程或(受安全保护)其他进程的内存。

  • (据我所知)没有直接系统调用允许您在进程地址 space 中针对已分配给 不同过程。

  • (据我所知)没有直接的系统调用允许您在进程地址 space 中针对已分配给 [=27 的页面创建新的虚拟地址=]相同的过程,除了mmap.

  • 的结果
  • 关于用 mmap 分配给同一进程的页面,您可能需要查看 mremapremap_file_pages.