KDOC 162: セグメンテーションとページングの違い

この文書のステータス

  • 作成
    • 2024-05-09 貴島
  • レビュー
    • 2024-05-11 貴島

概要

メモリのアドレス変換方式に、セグメンテーションとページングがある。2つの違いについてまとめる。

  • セグメンテーションは物理メモリをいくつかのセグメントに分け、1つのプログラムを1つのセグメントに格納する
    • プログラムのサイズでセグメントサイズが決まる。なので、配置状態によっては、空きメモリ自体はあるのに大きなサイズのデータを配置できなくなることがある(フラグメンテーション)
    • 物理アドレスを使う
  • ページングは論理アドレス空間を小さな同じ大きさのページ(区画)に分け、ページ単位で物理メモリを割り当てる。プログラムは論理アドレス空間の中でも一部しか使わないので、いくつかのページに物理メモリを割り当てておけば事足りる
    • すべて一定サイズなので、フラグメンテーションが起こりにくい
    • 論理アドレスを使う

参考

関連

Backlinks