仮想記憶とページングの試験問題への適用
仮想記憶の計算問題では、ページサイズの2の累乗、ページ番号と変位、ページ表のフレーム番号を順に使う。TLB・ページフォールト・ページ置換は原因と結果を分ける。
この単元で学ぶこと
- ページ番号算出の意味と役割を説明できる
- ページ内変位算出の意味と役割を説明できる
- 物理アドレス算出の意味と役割を説明できる
- ページ表を使った仮想→物理アドレス変換を数値で追跡できる
本文解説
アドレス変換は「仮想アドレス÷ページサイズ」で商=ページ番号、余り=ページ内変位としても考えられる。ページ表から得たフレーム番号×ページサイズ+変位で物理アドレスを計算できる。
ページ番号算出 仮想アドレスをページサイズで割った商が仮想ページ番号になる。 2の累乗ならビット分割でも求められる。
ページ内変位算出 仮想アドレスをページサイズで割った余りがページ内変位。 変換前後で同じ変位を使う。
物理アドレス算出 物理フレーム番号×ページサイズ+ページ内変位で求める。 ページ表がフレーム番号を与える。
TLBミス 変換結果がTLBにない状態で、ページ表参照が必要になる。 ページが主記憶にあればページフォールトではない。
ページ置換 空きフレームがないとき、どの常駐ページを追い出すか選ぶ処理。 LRUなどの方式が知られる。
16進アドレスと4KiBページの組合せでは下位3桁の16進数=12ビットが変位になる。TLBミス→ページ表参照→有効なら変換継続、無効・非常駐ならページフォールトという順で判断する。
4KiBページで仮想アドレス0x5234はページ5、変位0x234。ページ表がページ5→フレーム9なら物理アドレスは0x9234。
図解
重要ポイント
- ページ番号算出: 仮想アドレスをページサイズで割った商が仮想ページ番号になる。
- ページ内変位算出: 仮想アドレスをページサイズで割った余りがページ内変位。
- 物理アドレス算出: 物理フレーム番号×ページサイズ+ページ内変位で求める。
- TLBミス: 変換結果がTLBにない状態で、ページ表参照が必要になる。
- 商=ページ番号、余り=変位。物理側ではフレーム番号だけを置き換える。
間違えやすい点
- TLBミスとページフォールトを同義にしない。
- フレーム番号をページ番号へ足し算するのでなく置換する。
- ページサイズが4KiBなら下位12ビットを変位として扱う。
用語解説
- ページ番号算出
- 仮想アドレスをページサイズで割った商が仮想ページ番号になる。
- ページ内変位算出
- 仮想アドレスをページサイズで割った余りがページ内変位。
- 物理アドレス算出
- 物理フレーム番号×ページサイズ+ページ内変位で求める。
- TLBミス
- 変換結果がTLBにない状態で、ページ表参照が必要になる。
- ページ置換
- 空きフレームがないとき、どの常駐ページを追い出すか選ぶ処理。
関連教材
参考資料
教材データに登録された参考リンクです。リンク先の内容や更新日は提供元でご確認ください。
確認問題の出題・採点や学習履歴の保存にはログインが必要です。