タグ

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

タグの絞り込みを解除

linuxとメモリに関するad2のブックマーク (2)

  • Linux のプロセスが Copy on Write で共有しているメモリのサイズを調べる

    Linux は fork で子プロセスを作成した場合、親の仮想メモリ空間の内容を子へコピーする必要があります。しかしまともに全空間をコピーしていたのでは fork のコストが高くなってしまいますし、子が親と同じようなプロセスとして動作し続ける場合は、内容の重複したページが多数できてしまい、効率がよくありません。 そこで、Linux の仮想メモリは、メモリ空間を舐めてコピーするのではなく、はじめは親子でメモリ領域を共有しておいて、書き込みがあった時点で、その書き込みのあったページだけを親子で個別に持つという仕組みでこの問題を回避します。Copy-On-Write (CoW) と呼ばれる戦略です。共有メモリページは、親子それぞれの仮想メモリ空間を同一の物理メモリにマッピングすることで実現されます。より詳しくは コピーオンライト - Wikipedia などを参照してください。 この CoW に

    Linux のプロセスが Copy on Write で共有しているメモリのサイズを調べる
  • メモリ管理

    ◆ メモリ管理とは? UNIX では、どうやって複数のプログラムを実行しているのでしょうか? 具体的には、以下の3つの目標を実現する必要があります。 複数のプログラムを同時に実行すること。 物理メモリを効率良く管理すること。 あるプログラムの暴走や異常終了が他のプログラムの実行へ影響しないこと。 そのためには、メモリ管理機構にどのような機能が必要でしょうか? 物理メモリサイズより大きいサイズのプログラムを実行できること 理想的には任意のサイズのプログラムを実行できること 部分的にロードされたプログラムを実行できること プログラムのスタートアップ時間を減らすためにも 一度に複数のプログラムがメモリに存在できること プログラムをメモリ上の任意の場所(アドレス)にロードでき、 実行中に移動できること プログラムが再配置可能であること 物理メモリのサイズや構成に関係なく、プログラムを記述で

  • 1