Linux の /proc ディレクトリーは /dev と比べると段違いに複雑なので説明は簡単にはできないですかね。
まあ /proc を使うのはシステム管理者や DevOps の人たちでしょうかね。
ですが純粋なソフトウェア開発者でも頻繁に /proc/ ディレクトリーを確認することは十分にありえます。
それが mmap 関数による仮想メモリーアドレスの割り当てです。
[pid]とは、プロセスのIDのことですが ps コマンドなどで表示されますね。
それで mmap って何ですかの? 的な疑問もあるでしょうね。
まあ考えかたとしてはハードディスク等の非メモリーの領域をメモリーとして使うための関数です。
このハードディスク等のアドレス領域をメモリーかのように使うことをメモリーマッピング(メモリーマップを作る)と言います。
例えば C/C++ のポインター変数に mmap でマップしたディスクのアドレスを代入することができます。
ただハードディスクに毎度アクセスするとプログラムの反応速度が遅くなるので共有メモリーとゆうタイプのメモリーにマップするのが一般的かと思います。
Copyright 2018-2019, by Masaki Komatsu