如何获得一个新的虚拟内存地址到已经分配的页面?

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

如果是这样的系统调用? (最好在Linux上)

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

  • 一个小小的研究( 这里的第一个答案)建议你可以在一般情况下通过mmap /proc/PID/mem 。 没有尝试过,但假设它的工作,它会让你访问调用进程的内存或(受安全)其他进程。

  • 有(据我所知)没有直接的系统调用,它允许你在一个进程的地址空间中创建一个新的虚拟地址,这个地址已经被分配给了一个不同的进程。

  • 有(据我所知)没有直接的系统调用,它允许你在一个进程的地址空间中创建一个新的虚拟地址,就已经分配给同一个进程的页面而言,除了mmap

  • 对于使用mmap分配给相同进程的页面,您可能需要查看mremapremap_file_pages