OSとハードウェア
ページサイズが4 KBのとき、32ビットの仮想アドレス0x00403ABCのページ番号とページ内のオフセットの組み合わせとして正しいものはどれか。
- Aページ番号0x00403、オフセット0xABC0
- Bページ番号0x004、オフセット0x03ABC
- Cページ番号0x00403、オフセット0xABC
答えと解説を見る
正解:C. ページ番号0x00403、オフセット0xABC
ページサイズ4 KB = 2¹² なので、下位12ビット(16進数で下3桁)がオフセット、残りの上位20ビット(上5桁)がページ番号です。0x00403ABCを分けると、ページ番号は0x00403、オフセットは0xABCになります。ページテーブルで0x00403を物理ページの番号に変換し、そこに0xABCをつなげたものが物理アドレスになります。下4桁や下5桁をオフセットにするのは、ページサイズを64 KBや1 MBと取り違えた分け方です。
- A. オフセットの0xABC0は桁がずれています。
- B. 下5桁をオフセットにするのは1 MBのページの場合です。
- C. 正しい。下3桁0xABCがオフセット、上5桁0x00403がページ番号です。