Polling 방식과 Interrupt 방식

Donghwi Kim·2024년 2월 4일
0

잡다한 개발 지식

목록 보기
11/26

폴링과 인터럽트는 CPU와 I/O 장치 사이의 통신이다.

Polling 방식

  • 이벤트를 수행하라는 신호를 받았는지 안 받았는지를 주기적으로 검사하면서 그 신호를 받았을 때 이벤트를 실행하는 방식
  • 특정 주기마다 스레드를 돌면서 시그널이 들어왔는지 확인하는 방식
  • 소프트웨어적으로 시그널을 확인하는 것

장점

  1. 구현이 쉽다
  2. 우선순위 변경이 용이하다.

단점

  1. 특정 주기마다 계속 확인해야 하기 때문에 시스템의 리소스를 많이 먹는다.
  2. 정확한 타이밍에 시그널이 들어왔는지 확인하는 것이 불가하고 주기에 따른 오차가 있다.


Interrupt 방식

  • 이벤트를 수행하라는 신호를 받으면 핸들러를 통해서 바로 이벤트를 수행하는 방식
  • 외부의 인터럽트 핀에 신호가 들어오면 즉시 인터럽트 소스를 실행하고 다시 원래 코드로 돌아오는 방식
  • 하드웨어적으로 시그널을 확인하는 것
  • 커널의 Interrupt Handler가 Interrupt를 확인하고 Interrupt가 발생했다면 Interrupt Thread로 발생을 알려준다.

장점

  1. 시그널이 들어온 정확한 타이밍을 알 수 있으므로 반응 시간이 빠르다.
  2. Interrupt 발생시에만 처리를 하기 때문에 시스템 부하가 적다.

단점

  1. Polling 보다 구현이 복잡하다.

0개의 댓글

관련 채용 정보