Polling Interrupt DMA

I/O 처리 방식 선택

I/O 방식은 CPU가 기다리는 정도와 데이터 전송량에 따라 폴링, 인터럽트, DMA를 다르게 선택합니다.

PollingCPU가 반복 확인
Interrupt장치가 알림
DMA메모리 직접 전송
Completion완료만 통지
01

프로그래밍된 I/O

구현은 단순하지만 CPU가 장치 상태를 계속 확인해 낭비가 큽니다.

02

인터럽트 I/O

장치가 이벤트를 알려 CPU 대기 시간을 줄이지만 빈도가 높으면 부담이 됩니다.

03

DMA

대량 데이터를 장치와 메모리 사이에서 직접 옮겨 CPU 개입을 줄입니다.

04

Scatter-Gather

흩어진 메모리 조각을 한 번의 DMA 작업 목록으로 묶어 전송합니다.

선택 기준

  • 짧고 드문 이벤트는 인터럽트가 효율적입니다.
  • 큰 블록 전송은 DMA가 CPU 점유를 크게 줄입니다.
  • 너무 잦은 인터럽트는 배치, 병합, 폴링 전환으로 완화합니다.

비교

Polling단순/CPU 낭비
Interrupt이벤트 중심
DMA대량 전송
Hybrid실무 혼합