개요
DMA에 대한 배경지식이 필요하다. IO를 다루는 많은 방법중에서, CPU는 장치와 메모리 사이에 데이터 복사를 담당한다. 이는 CPU가 복사 작업 중에 다른 작업을 하지 못하는 것을 의미한다. 이러한 병목 현상을 해결하기 위해서 DMA는 CPU와 IO장치 사이에 주 메모리 사이의 전송을 책임하는 별도의 컨트롤러를 둔다. CPU는 전송을 시작하고 DMA기술을 이용하여 실제로 그러한 작업을 하며 그 와중에 CPU는 다른 일을 처리한다. DMA전송이 완료되면 CPU에 전송이 완료됨을 알리는 인터럽트를 전송하고 OS에 이러한 전송이 완료됨을 알려준다.