情報科学 › コンピュータサイエンス基礎 › OS の役割

ページングによるアドレス変換

定義 5.1(「OS の役割」§5)

仮想アドレス空間と物理アドレス空間を、同じ大きさ 2p2^{p} バイトのページ/フレームに分割する(典型的には 212=42^{12} = 4 KiB)。bb ビットの仮想アドレス vv を

v=⌊v/2p⌋⏟仮想ページ番号 VPN⋅2p+(v mod 2p)⏟オフセットv = \underbrace{\lfloor v / 2^{p} \rfloor}_{\text{仮想ページ番号 } \mathrm{VPN}} \cdot 2^{p} + \underbrace{(v \bmod 2^{p})}_{\text{オフセット}}

と分解し、プロセスごとに用意されたページテーブル TT(VPN から物理フレーム番号 PFN への部分写像)を使って物理アドレスを

phys(v)=T(VPN)⋅2p+(v mod 2p)\mathrm{phys}(v) = T(\mathrm{VPN}) \cdot 2^{p} + (v \bmod 2^{p})

で定める。各ページテーブル項目(PTE)は PFN に加えて、有効ビット、読み書き実行の許可ビット、ユーザモードからのアクセス可否、参照済みビット、変更済みビットを持つ。TT が VPN に対して未定義(有効ビットが 00)のアドレスに触れると、CPU はページフォルト例外を起こしてカーネルに制御を移す。この変換はメモリ管理ユニット(MMU)がハードウェアで行い、ページテーブルの先頭物理アドレスは特権レジスタ(x86-64 の CR3、RISC-V の satp)が保持する。

本文で読む(前後の説明と例)→

閉包の状態

定義

定義は閉包の起点です(証明を要しません)。

印の意味: ✓公理まで証明済み ・ △証明あり(閉包未完)・ ※主張のみ。テーマごとの集計は 閉包の状況。

これを使っている定理

証明で明示的に参照している定理は、まだありません。

関連するノック 4 問