드라이버가 버퍼 주소와 전송 길이를 DMA 디스크립터에 기록합니다.
src, dst, count, direction
전송이 시작되면 CPU는 다른 작업으로 돌아갈 수 있습니다.
대용량 I/O에서 CPU가 바이트마다 복사하면 계산 시간이 사라집니다. DMA는 설정, 전송, 완료 통지를 분리해 인터럽트 수와 복사 비용을 줄입니다.
드라이버가 버퍼 주소와 전송 길이를 DMA 디스크립터에 기록합니다.
src, dst, count, direction
전송이 시작되면 CPU는 다른 작업으로 돌아갈 수 있습니다.
장치 큐에 전송 요청을 넣고 시작 신호를 보냅니다.
DMA가 메모리 버스를 사용해 블록을 직접 복사합니다.
전송이 끝나면 인터럽트로 커널을 깨웁니다.
장치 데이터가 커널 버퍼나 사용자 버퍼로 모이고, CPU는 완료 처리만 수행합니다.
interrupt count: 1
바이트마다 깨우지 않기 때문에 대용량 전송에서 효과가 큽니다.