タグ

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

タグの絞り込みを解除

*programとmmapに関するsh19910711のブックマーク (2)

  • mmapとページフォールト - KVM日記

    はじめに メモリ管理周りで勘違いしていた部分をコードを追いながら説明してみます。 概要 Q1: qemuはゲストメモリ領域をmmap(2)してるんだよね? A1: してますがコードには呼び出し箇所はありません*1。mmapはposix_memalign(3)内で呼び出されます。 Q2: ゲストより先に(qemuメモリ空間内の)ゲストメモリ領域にqemuがアクセスした場合どうなる? A2: qemuのページフォールトが起きますが、SPTEは割当てられません。そのため、ゲストが当該ページにアクセスすると再度ページフォールトが起きます。SPTEが設定されるのはこのときです。 調査対象バージョン x86_64 (Intel EPTあり) シャドウページテーブルはさすがに今さらなので(^^; linux-2.6.37.6 2.6.38はasynchronous page faultを実装していて読み

    mmapとページフォールト - KVM日記
  • コンピューター:C言語講座:mmapについて

    コンピューター:C言語講座:mmapについて 概要 mmapはファイルをメモリにマッピングするものです。わかりやすく言うと、UNIXのOSが行なっているページングやスワッピングを自プロセスで行なうようなものです。 これを使うメリットとしては、メモリ確保サイズが確保開始時に決定できない場合、簡単にはmalloc()で適当な量を確保し、足りなければrealloc()を使用して拡大することになりますが、realloc()を繰り返すとメモリ領域中に空きが出来やすく、大規模なシステムでは実際使用しているメモリより空き空間の方が数倍大きくなってしまい、メモリ不足で実行不可能になる場合があります。mmapを使用すれば、別々に拡大していくような管理が可能なので、また、スワップスペースとは別の位置に置くことにより、多数の動的メモリを必要とする場合に安全に動作することが可能になる場合があります。ただし、基

  • 1