メモリ管理に関する用語まとめ

コンピューターアーキテクチャ

概要

試して理解 Linuxの仕組みのメモリ管理の章を読んでいて理解の乏しい単語があったのでいくつかピックアップしてまとめる。

OOM

  • Out of memory
  • システムが物理メモリと仮想メモリを使い切ったことにより、新規にメモリを確保できない状態
  • OOM Killer(Out of Memory Killer)
    • OOMのときにプロセスを強制終了させることで空きメモリーを確保するLinuxカーネルの仕組み

仮想記憶

  • OSなどが物理メモリを主記憶装置に見えるように仮想化させたメモリ
  • 物理メモリ上のバラバラのアドレスを連番でのアドレスとして扱えるようにしたもの
  • ハードディスク上の一部の領域を仮想記憶のアドレスとして考える機能
    • →スワップ

ページテーブル

  • OSの中の仮想記憶で仮想アドレスと物理アドレスを対応付けるために使われるデータ構造

ページフォールト

  • プログラムが物理メモリがマップされていない仮想アドレス空間上のページにアクセスした際にハードウェアが発生させる割り込みまたは例外

ファイルマップ

  • ファイルをメモリにマッピングする
    • C言語だとmmapで行える
      • OSが行っているページングやスワッピングを自プロセスで行うようなもの

デマンドページ

  • メモリ管理方式の一種
  • 該当するアドレスのメモリ内容が必要になった際に、物理メモリをページに割り当てる方式

コピーオンライト

  • 書き込み時にコピーをするという仕組み
  • 親プロセスから子プロセスを生成する際に、親プロセスのメモリー内の全てのデータをコピーせずに、親プロセスのメモリー空間を一時的に共有(書き込み禁止が指定される)させることで、プロセス生成にかかる処理時間を短縮させることができる
  • 共有しているメモリー空間に対し、どちらかのプロセスが書き込み要求を発行した際に新しいメモリ空間を割り当て、メモリー内のデータをコピーする
  • という方式

スワップ

  • ハードディスクなどの補助記憶装置にスワップファイルまたはスワップ領域という保存領域を確保し、メモリ容量を増やすOSの機能
  • また、ページング方式の仮想記憶で、物理メモリを補助記憶の間でページを入れ替えることをスワップまたはページスワップという

参考


関連書籍