OSとハードウェア
IOMMUの主な役割として正しいものはどれか。
- ACPUの命令を、入出力装置の命令に翻訳して実行する
- B入出力装置の電源を、使っていない間は自動的に切って消費電力を減らす
- C装置のDMAのアドレスを変換し、不正なアクセスを防ぐ
答えと解説を見る
正解:C. 装置のDMAのアドレスを変換し、不正なアクセスを防ぐ
DMAを使う装置は主記憶を直接読み書きできるため、誤動作や悪意のある装置がOSのメモリを書き換える危険があります。IOMMUは、CPUにとってのMMUのように、装置が使うアドレスを物理アドレスに変換し、許可された範囲以外へのアクセスを止めます。連続していない物理メモリを装置からは連続して見せることもでき、仮想マシンに装置を直接割り当てるときにも使われます。命令の翻訳や電源の制御を行う装置ではありません。
- A. 命令を翻訳する装置ではありません。
- B. 電源の制御は別のしくみが行います。
- C. 正しい。装置のDMAのアドレスを変換して保護します。