繁体   English   中英

两个页面条目引用同一物理页面

[英]Two page entries reference to the same physical page

对于linux和Windows,在同一过程中,如何使两个页面条目引用同一物理页面?

对于Windows,通过在MSDN上阅读,看来我可以通过传递INVALID_HANDLE_VALUE来创建文件映射而无需文件支持的方式来调用CreateFileMapping 然后,我可以使用不同的lpBaseAddress两次调用MapViewOfFileEx ,这实际上使两个不同的地址引用相同的物理地址。

我的问题是,在Linux下如何做? 我阅读了mmap手册,但没有找到解决方法,除非该区域由文件(带有标志MAP_SHARED )支持,但是对该区域的修改将写入该文件,这不是我想要的。 有人知道这样做吗? 我不反对使用文件作为后盾,只要对该区域的写入实际上并没有写入磁盘。 不能使用tmpfs因为我不能保证用户安装了tmpfs

顺便说一句,代码应该是用户模式代码,而不是内核模式。

使用shm_open()mmap()创建文件。

使用此技巧时,“我想写一些模拟器”与我的目的相同。 我确实使用过ipc / shm,但是我忘记了细节。 非常非常非常可能: shmget()+shmat()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM