mmap
メモリマップトファイル。Linuxのシステムコールの一つで仮想メモリ上の空間にファイルやゼロフィルされた領域を割り振ってくれる便利機能
プログラムからは完全にメモリ上にロードされたバイト列に見える
アクセスすると裏でカーネルがいい感じに読んだり書いたりしてくれる
MMUのページフォールト機能を使ってカーネルに処理を移譲してるらしい
体感ではreadやwrite呼ぶより速い
GCや独自のオブジェクト管理機構との相性が悪いせいか高級言語だと直接使われているのをあまりみない
環境ポータビリティもないので仕方ないね
ゼロフィル領域の割り振りは実質的にメモリの確保なのでmallocで内部的に使われていたりする
ファイルを指定しないとこれになる
巨大な領域を確保したらほぼ直接使われていたはず