作業系統與硬體
關於IOMMU的主要作用,下列何者正確?
- A將CPU的指令翻譯成輸入輸出裝置的指令後執行
- B在輸入輸出裝置閒置時自動切斷電源,以降低耗電量
- C轉換裝置DMA的位址,防止非法存取
查看答案與解析
正確答案:C. 轉換裝置DMA的位址,防止非法存取
使用DMA的裝置可以直接讀寫主記憶體,因此誤動作或惡意的裝置有可能改寫作業系統的記憶體。IOMMU就像CPU的MMU一樣,將裝置所使用的位址轉換成實體位址,並阻擋對允許範圍以外的存取。它也能讓不連續的實體記憶體對裝置而言看起來是連續的,並在將裝置直接分配給虛擬機器時使用。它不是負責翻譯指令或控制電源的裝置。
- A. 它不是翻譯指令的裝置。
- B. 電源控制是由其他機制負責。
- C. 正確。轉換裝置DMA的位址以提供保護。