OS와 하드웨어
장치의 상태를 인터럽트를 쓰지 않고 CPU가 반복해서 조사하는 방식(폴링)이 유리한 경우는 무엇입니까?
- A처리가 매우 높은 빈도로 발생하여 인터럽트 때마다의 전환 부담이 큰 경우
- B처리가 아주 드물게만 발생하고 CPU를 다른 작업에 사용하고 싶은 경우
- C소비 전력을 최대한 낮추기 위해 CPU를 오래 쉬게 하고 싶은 경우
정답과 해설 보기
정답: A. 처리가 매우 높은 빈도로 발생하여 인터럽트 때마다의 전환 부담이 큰 경우
인터럽트는 처리가 드물 때 CPU를 낭비하지 않아도 되지만, 한 번마다 상태 저장이나 핸들러로의 이동이라는 부담이 있습니다. 고속 네트워크처럼 처리가 매우 빈번하게 발생하면 인터럽트의 부담이 쌓여 처리가 따라가지 못하므로, 모아서 폴링하는 편이 효율적입니다. 처리가 드물거나 CPU를 쉬게 하여 전력을 낮추고 싶을 때는 헛돌며 계속 조사하는 폴링은 낭비가 많아 인터럽트가 적합합니다.
- A. 올바릅니다. 빈번한 처리에서는 인터럽트의 부담보다 폴링이 효율적입니다.
- B. 드문 처리에서는 폴링이 CPU를 낭비합니다.
- C. 계속 조사하는 폴링은 CPU를 쉬게 할 수 없어 전력이 늘어납니다.