ページング方式について

.flowchart { display: flex; flex-direction: column; align-items: center; font-family: Arial, sans-serif; } .box { border: 2px solid #4CAF50; border-radius: 8px; padding: 12px 20px; margin: 10px; background-color: #e8f5e9; width: 300px; text-align: center; position: relative; } .arrow-down { width: 0; height: 0; border-left: 10px solid transparent; border-right: 10px solid transparent; border-top: 15px solid #4CAF50; margin: -5px 0 10px 0; }

ページング方式の仮想記憶とは?

OSの仮想記憶方式のひとつで、プログラムが使うメモリを「ページ」という固定サイズの単位に分割して管理します。
実際の物理メモリは「フレーム」という同じ大きさの領域に分けられ、ページとフレームを対応づけて使います。
この仕組みにより、プログラムは実際の物理メモリより大きな仮想アドレス空間を利用できるようになります。

ページフォルト、ページイン、ページアウトの流れ

プログラムが必要とするページが物理メモリに存在しない場合に「ページフォルト」が発生します。
ページフォルトを解消するため、ディスクからページを読み込む処理を「ページイン」と呼びます。
また、メモリに空きがない場合、既存のページをディスクに書き戻して空きフレームを作る処理を「ページアウト」と呼びます。

図:ページングの流れ

CPUがページ参照
そのページは物理メモリにあるか?
はい → そのままアクセス
いいえ → ページフォルト発生
OSがディスクからページを読み込む
(ページイン)
空きフレームがなければ既存ページをディスクへ書き出す
(ページアウト)
ページをフレームに配置
CPUが再びページにアクセス

用語説明

  • ページフォルト:必要なページがメモリにないときに発生する例外。
  • ページイン:ページフォルトを解消するため、ディスクからページをメモリへ読み込む処理。
  • ページアウト:メモリに空きがない場合、既存ページをディスクに書き戻して空きフレームを作る処理。

投稿者: rajanoon

1993年生まれ。新卒からSEとして働いていましたが、今はサーバーサイドエンジニアとして働いています。一生使える技術を身に着けようと悪戦苦闘中です。

コメントを残す