仮想記憶とページングを理解する
仮想記憶は、各プロセスへ連続した大きなアドレス空間を見せながら、必要なページだけを主記憶へ配置する仕組みである。ページ・フレーム・ページ表・ページフォールトを関連付ける。
この単元で学ぶこと
- ページの意味と役割を説明できる
- フレームの意味と役割を説明できる
- ページ表の意味と役割を説明できる
- 仮想アドレスをページ番号と変位へ分割し、物理アドレス変換を説明できる
本文解説
仮想アドレスはページ番号とページ内変位に分けられ、ページ表を使って物理フレームへ対応付ける。必要ページが主記憶に無いとページフォールトが発生し、補助記憶から読み込むため大きな遅延が生じる。
ページ 仮想アドレス空間を一定サイズに区切った管理単位。 ページ番号とページ内変位で仮想アドレスを表す。
フレーム 主記憶をページと同じサイズに区切った物理側の格納枠。 ページ表が仮想ページと物理フレームを対応付ける。
ページ表 仮想ページ番号から物理フレーム番号などへ変換する対応表。 有効ビットや保護情報などを持つ場合がある。
ページフォールト 参照した仮想ページが現在主記憶に存在しないときに発生する例外。 OSが補助記憶からページを読み込み、必要に応じ置換する。
TLB 最近使ったページ表エントリを高速に保持する変換キャッシュ。 アドレス変換のページ表参照時間を短縮する。
ページサイズが2^pバイトなら下位pビットがページ内変位、残りがページ番号になる。ページフォールトとTLBミスは別で、TLBミスでもページ自体が主記憶にあればページ表を参照して解決できる。
ページサイズ4KiB=2^12なら下位12ビットがページ内変位。仮想ページ番号をページ表で物理フレームへ変換し、変位をそのまま結合して物理アドレスを得る。
図解
重要ポイント
- ページ: 仮想アドレス空間を一定サイズに区切った管理単位。
- フレーム: 主記憶をページと同じサイズに区切った物理側の格納枠。
- ページ表: 仮想ページ番号から物理フレーム番号などへ変換する対応表。
- ページフォールト: 参照した仮想ページが現在主記憶に存在しないときに発生する例外。
- ページ=仮想側、フレーム=物理主記憶側。ページサイズとフレームサイズは対応する。
間違えやすい点
- TLBミスを即ページフォールトとみなさない。
- ページ内変位はアドレス変換で基本的に変化しない。
- 仮想記憶が主記憶アクセスを常に高速化する仕組みだと誤解しない。
用語解説
- ページ
- 仮想アドレス空間を一定サイズに区切った管理単位。
- フレーム
- 主記憶をページと同じサイズに区切った物理側の格納枠。
- ページ表
- 仮想ページ番号から物理フレーム番号などへ変換する対応表。
- ページフォールト
- 参照した仮想ページが現在主記憶に存在しないときに発生する例外。
- TLB
- 最近使ったページ表エントリを高速に保持する変換キャッシュ。
関連教材
参考資料
教材データに登録された参考リンクです。リンク先の内容や更新日は提供元でご確認ください。
確認問題の出題・採点や学習履歴の保存にはログインが必要です。