OSとハードウェア

IOMMUの主な役割として正しいものはどれか。

  1. ACPUの命令を、入出力装置の命令に翻訳して実行する
  2. B入出力装置の電源を、使っていない間は自動的に切って消費電力を減らす
  3. C装置のDMAのアドレスを変換し、不正なアクセスを防ぐ
答えと解説を見る

正解:C. 装置のDMAのアドレスを変換し、不正なアクセスを防ぐ

DMAを使う装置は主記憶を直接読み書きできるため、誤動作や悪意のある装置がOSのメモリを書き換える危険があります。IOMMUは、CPUにとってのMMUのように、装置が使うアドレスを物理アドレスに変換し、許可された範囲以外へのアクセスを止めます。連続していない物理メモリを装置からは連続して見せることもでき、仮想マシンに装置を直接割り当てるときにも使われます。命令の翻訳や電源の制御を行う装置ではありません。

  • A. 命令を翻訳する装置ではありません。
  • B. 電源の制御は別のしくみが行います。
  • C. 正しい。装置のDMAのアドレスを変換して保護します。
この分野を解く 分野ページへ

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

  1. デバイスドライバの役割として正しいものはどれか。
  2. 一般的なOSで、アプリケーションが装置のレジスタを直接読み書きできないようにしている主な理由はどれか。
  3. 1台のコンピュータの上で、複数のOSをそれぞれ独立した仮想マシンとして同時に動かすためのソフトウェアを何と呼ぶか。
  4. ハイパーバイザの型の説明として正しいものはどれか。
  5. 入れ子ページング(2段のアドレス変換)を使った仮想化で、ハードウェアが行うアドレス変換の説明として正しいものはどれか。