タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

memoryとswapに関するkenjiskywalkerのブックマーク (1)

  • mmapの実装 : kei@sodan

    mmapの基的な動作はファイルをメモリにマップすることですが、mmap()を実行したときにいきなりファイルがメモリにコピーされるわけではありません。 mmap()を実行するとアドレスが返されますが、このときこのメモリ番地は物理メモリ上に乗っていません。 だから、この番地をアクセスするとページフォルトが発生します。このページフォルトを受けて、はじめてデータがファイル(ディスク)から物理メモリにコピーされます。(なお、もし元々このファイルがファイルキャッシュに乗っている場合は、このファイルキッシュのアドレスがそのまま返されます) mmapされた領域に書き込まれたデータは、適宜ディスクに書き戻されます。 なお、ファイルの一部だけがアクセスされたら、その一部だけをメモリに乗せればよいです。また、物理メモリが足りなくなったら、あまりアクセスされていないページはページアウトさせます。 この「ページフ

    kenjiskywalker
    kenjiskywalker 2013/02/04
    わかりやすい
  • 1