LinuxとWindowsの場合、同じプロセスで、2つのページエントリが同じ物理ページを参照するようにするにはどうすればよいですか?
Windowsの場合、MSDNを読むと、ファイルに裏打ちされていないファイルマッピングを作成するためにCreateFileMapping渡すことで呼び出すことができるように見えます。INVALID_HANDLE_VALUE次にMapViewOfFileEx、異なるで2回呼び出すことができますlpBaseAddress。これにより、2つの異なるアドレスが同じ物理アドレスを参照するようになります。
私の質問は、Linuxでそれを行う方法ですか?のマニュアルを読みましmmapたが、リージョンがファイル(フラグ付き)でバックアップされていない限り、それを行う方法がわかりませんでしたが、MAP_SHAREDこのリージョンへの変更はファイルに書き込まれます。これは私が望むものではありません。誰かがこれを行うために何らかの方法で知っていますか?リージョンへの書き込みが実際にディスクに送信されない限り、ファイルによるバッキングに反対しません。ユーザーがマウントされtmpfsていることを保証できないため、使用することはできません。tmpfs
ちなみに、コードはカーネルモードではなくユーザーモードコードである必要があります。