如果使用 mlock()[注 1] 系统调用将某个页面锁定在主内存中,那么是否有一种实用的方法可以获取该页面在主内存中的物理地址?
/proc/mem 机制用于在进程具有特权时提供物理内存的内容,但现在默认情况下已禁用。据我所知,逻辑内存页面的物理地址不可用,除非通过监视内核的页表间接获取。
如果存在获取物理地址的现有机制,它可能适用于任何内存页面,但当然是不可靠的,除非页面被锁定。
注 1:具有锁定选项的 mmap() 调用可能工作方式相同。
如果使用 mlock()[注 1] 系统调用将某个页面锁定在主内存中,那么是否有一种实用的方法可以获取该页面在主内存中的物理地址?
/proc/mem 机制用于在进程具有特权时提供物理内存的内容,但现在默认情况下已禁用。据我所知,逻辑内存页面的物理地址不可用,除非通过监视内核的页表间接获取。
如果存在获取物理地址的现有机制,它可能适用于任何内存页面,但当然是不可靠的,除非页面被锁定。
注 1:具有锁定选项的 mmap() 调用可能工作方式相同。