第79章 アノニマスマッピング

 MAP_ANONYMOUS と 2 つのフラグ MAP_SHARED / MAP_PRIVATE を組み合わせると 4 種類のマッピングパターンが使えるようになります。

プライベートファイルマッピング
ファイルのデータでマッピングを初期化するのに用います。単に読み込んでそのデータを使うのに適しています。
プライベートアノニマスマッピング
mmap() で割り当てるメモリー領域が他のプロセスから見えない、独立的な処理で構わない場合に用います。
共有ファイルマッピング
fork() によって生成したプロセスから、ファイルマッピングに加えた変更が見えるようになっています。変更したデータはファイルに反映されます。
共有アノニマスマッピング
fork() によって生成したプロセスから、メモリーマッピングに加えた変更が見えるようになります。複数のプロセスで使うメモリー領域に適しています。

 まあこれ読んでも即理解とはならないでしょうから、各パターンの比較による脳内練習の意味も含めて各パターンの実装をして見ましょう。

Copyright 2018-2019, by Masaki Komatsu