폴링이 뭐야? 인터럽트와 비교되는 개념이라는데?
2024. 1. 11. 12:07ㆍCS/운영체제
- polling과 interrupt 모두 CPU와 입출력장치의 통신방식
pollinginterrupt
polling | interrupt |
다른 프로세스에게 CPU를 양도하지 않고, 하드웨어 장치가 동작을 완료할때까지 계속 루프를 돌면서 하드웨어 상태를 체크하는 방식을 말한다. | CPU가 프로그램을 실행하는 도중에 I/O나 다른 예외 상황발생으로 특별한 처리가 필요할때 CPU에 이를 알려 처리하도록 하는 것을 말한다. 운영체제는 I/O를 요청한 프로세스를 블록시키고 CPU를 다른 프로세스에게 양도한다. |
- 인터럽트를 사용하면, CPU연산과 I/O장치 작업을 중첩시켜서 수행할 수 있게 되어 인터럽트를 통해 I/O처리를 하는 것이, polling보다 CPU의 사용률을 높이는 방법이다.
- 하지만 인터럽트가 폴링보다 무조건 좋은것은 아니다!
- 예를 들어, 어떠한 작업이 단 한번의 polling만으로 끝날 정도의 빠른 하드웨어장치라면 interrupt보다는 polling이 더 효과적이라고 할 수 있다.
- interrupt는 현재 실행중인 프로세스를 다른 프로세스로 context-switching하게 되고 많은 비용이 수반되기 때문에, 빠른 하드웨어 장치라면 polling이 더 효율적이고 느린 하드웨어 장치라면 interrupt가 더 효율적이라고 할 수 있다.
참조블로그 : https://jaebworld.tistory.com/27
'CS > 운영체제' 카테고리의 다른 글
동기식 I/O와 비동기식 I/O의 공통점과 차이점 (1) | 2024.01.11 |
---|---|
DMA(Direct Memory Access) (0) | 2024.01.11 |
멀티프로세스와 멀티스레드의 차이 (1) | 2024.01.11 |
부모 프로세스는 자식 프로세스를 어떻게 만들어내고, 자식프로세스는 어떻게 자신만의 코드를 실행할까? (0) | 2024.01.11 |
프로세스의 메모리 영역 중 사용자 영역은 어떻게 되어있을까? (0) | 2024.01.11 |