OS와 하드웨어
IOMMU의 주된 역할로 올바른 것은 무엇입니까?
- ACPU의 명령을 입출력 장치의 명령으로 번역하여 실행한다
- B입출력 장치의 전원을 사용하지 않는 동안 자동으로 꺼서 소비 전력을 줄인다
- C장치의 DMA 주소를 변환하고 부정한 접근을 막는다
정답과 해설 보기
정답: C. 장치의 DMA 주소를 변환하고 부정한 접근을 막는다
DMA를 사용하는 장치는 주기억장치를 직접 읽고 쓸 수 있으므로, 오동작하거나 악의가 있는 장치가 OS의 메모리를 덮어쓸 위험이 있습니다. IOMMU는 CPU의 MMU처럼 장치가 사용하는 주소를 물리 주소로 변환하고, 허가된 범위 이외로의 접근을 막습니다. 연속되지 않은 물리 메모리를 장치에는 연속된 것처럼 보이게 할 수도 있으며, 가상 머신에 장치를 직접 할당할 때도 사용됩니다. 명령을 번역하거나 전원을 제어하는 장치가 아닙니다.
- A. 명령을 번역하는 장치가 아닙니다.
- B. 전원 제어는 다른 구조가 담당합니다.
- C. 올바릅니다. 장치의 DMA 주소를 변환하여 보호합니다.