如何为已分配的页面获取新的虚拟内存地址?
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
分配给同一进程的页面,您可能需要查看 mremap
和 remap_file_pages
.
我可以为已分配的页面接收新的虚拟地址吗?
如果有,系统调用是什么? (最好在 Linux 上)
不完全确定你在这里问什么但是:
一点研究(第一个答案 here)表明在一般情况下您可以通过
mmap
'ing/proc/PID/mem
来做到这一点。没有尝试过,但假设它有效,它将允许您访问调用进程或(受安全保护)其他进程的内存。(据我所知)没有直接系统调用允许您在进程地址 space 中针对已分配给 不同过程。
(据我所知)没有直接的系统调用允许您在进程地址 space 中针对已分配给 [=27 的页面创建新的虚拟地址=]相同的过程,除了
mmap
. 的结果
关于用
mmap
分配给同一进程的页面,您可能需要查看mremap
和remap_file_pages
.