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 |