我创建了两个独立的进程process1和process2,它将映射(使用带有MAP_SHARED标志的mmap)映射到同一个文件(或)对象,在这种情况下,映射区域应该是b / w进程共享。当我打印两个进程的mmap系统调用的返回值时,打印的地址不同,我相信打印的地址是虚拟地址,因此它的不同但物理地址可能相同。如果我错了,请纠正我。
在读取堆栈溢出中的线程后,我发现我们无法从用户空间转换物理地址到虚拟地址。那么有没有其他方法可以确认映射区域是共享黑白进程?。
答案 0 :(得分:0)
在那里写一些神奇的数字。如果第二个进程看到了神奇的数字,那么,你正在查看相同的内存。