본문 바로가기
2025 Dev Log/CS

[2][Stage 0] 인터럽트(Interrupt)와 폴링(Polling)의 차이를 CPU 동작 관점에서 설명하라. + 비동기 이벤트

by Dev.후크리 2026. 1. 15.

인터럽트(Interrupt)는 실행 중에 새로운 실행 거리가 생긴 상황을 이야기한다.

 

"야 비켜와 CPU야 이거 먼저 처리해라!!"

 

이렇게 키보드, 네트워크 카드, 디스크가  CPU에게 직접 신호를 보낸다.

 

그럼 CPU는

 

1. 하던 일을 멈춘다

2. 상태를 저장한다 (레지스터 or 스택)

3. 급한 일을 처리한다

4. 다시 돌아간다

 


폴링(Polling)은 다른 개체에서 CPU한테 물어보는 것이 아니라 CPU가 계속 물어보는 것이다.

 

" 얘들아 왔어? 할 일 있어? 없어? 나 그대로 실행한다~"

 


조금 헷갈린 부분은 

인터럽트와 폴링은 “방법”이고,
“CPU가 하던 일을 멈추고 외부 사건을 처리해야 하는 상황” 자체를 부르는 용어가 아니었다.

 

이러한 상황 자체는 이벤트 혹은 비동기 이벤트라고 부른다.

 

비동기 이벤트, 어디서 들어봤었다 바로 윈도우즈 이벤트의 메시지 구조였다.

 

윈도우즈 시스템이 사용자가 발생시킨 이벤트를

뭘 통해 메시지 형태로 만들어

어디에 전달한다였는데

정확히는 기억이 나지 않는다.

 

이 부분에 대해 잘 아는 분이 있다면 댓글로 알려주시길.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

중요한 점은 이게 실제 서버랑 구조가 같다는 것이다.

정확하게 말하면 GUI 프로그램과 웹 서버가 같은 이벤트 시스템을 사용한다는 점이다