본문 바로가기

컴퓨터과학/운영체제(Operating System)

Interrupt와 polling의 차이

Interrupt vs Polling

 Interrupt와 Polling은 CPU가 다른 프로세스를 실행하는 동안 디바이스로 부터 발생하는 이벤트들을 처리하는 두 가지 방법이다. Polling과 Interrupt는 CPU가 현재 하던 일을 멈추고 중요한 일에 반응하도록 멈추게 한다. 아래는 둘을 비교하여 서로의 특징을 나타내었다. 

기본적인 비교 Interrupt Polling
기본 디바이스가 CPU에게 attention이 필요하다고 알려준다 CPU가 계속 CPU의 attention이 필요한 지 안한지 디바이스의 상태를 체크한다
메커니즘 Interrupt는 하드웨어의 메커니즘이다 Polling은 프로토콜이다
Servicing Interrupt 헨들러가 디바이스를 처리한다 CPU가 디바이스를 처리한다
Indication Interrupt-request 라인이 디바이스가 servicing이 필요하다고 알려준다 Command-ready 비트는 디바이스가 servicing이 필요하다고 알려준다
CPU CPU는 디바이스가 servicing이 필요할 때만 방해받으면 CPU의 사이클을 절약한다 CPU는 주기적으로 디바이스가 servicing이 필요한 지 기다리고 체크해야 하기 때문에 CPU 사이클을 낭비한다
Occurence Interrupt는 언제나 발생할 수 있다 CPU는 일정한 간격으로 device를 poll한다
  Interrupt는 디바이스가 반복적으로 CPU를 interrupt할 때 비효율이 된다 Polling은 CPU가 service를 위한 device ready가 거의 없을 때 비효율이 된다
예시 벨이 울리면 문을 열고 누가 왔는지 확인한다 계속 누가 왔는 지 문을 열어본다

아래의 링크를 참조하였습니다. 감사합니다.

[1] https://techdifferences.com/difference-between-interrupt-and-polling-in-os.html

'컴퓨터과학 > 운영체제(Operating System)' 카테고리의 다른 글

IPC에서 message passing은 무엇일까?  (0) 2020.01.06
IPC가 뭐야?  (1) 2020.01.06