OSとハードウェア

ページサイズが4 KBのとき、32ビットの仮想アドレス0x00403ABCのページ番号とページ内のオフセットの組み合わせとして正しいものはどれか。

  1. Aページ番号0x00403、オフセット0xABC0
  2. Bページ番号0x004、オフセット0x03ABC
  3. 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がページ番号です。
この分野を解く 分野ページへ

OSとハードウェアのほかの問題

  1. RISC-Vの特権アーキテクチャで定められている主な動作モードの組み合わせとして正しいものはどれか。
  2. 割り込みや例外の処理を終えて元のプログラムに戻るとき、通常の関数の戻り命令ではなく、専用の復帰命令(RISC-Vのsret・mretなど)を使う理由はどれか。
  3. リアルタイム性が求められるシステムで、割り込みが発生してからハンドラが動き出すまでの時間(割り込み遅延)を大きくしてしまう要因として最も適切なものはどれか。
  4. NMI(マスク不可能割り込み)の説明として正しいものはどれか。
  5. 複数のコアをもつシステムで、OSがあるページのページテーブルの項目を書き換えて対応を取り消したとき、必要になる処理として正しいものはどれか。