예전엔 CPU가 직접 입출력장치에서 데이터를 가져오거나 내보내는 폴링(Polling) 방식을 사용했는데, 지금의 컴퓨터에는 많은 주변장치들이 존재하기도 하고 CPU가 모든 입출력에 관여를 하게되면 작업 효율이 현저하게 떨어지게 된다. 인터럽트는 이러한 문제를 해결하기 위해 등장하였다.
인터럽트 방식은 CPU의 작업과 저장장치의 데이터 이동을 독립적으로 운영함으로써 시스템의 효율을 높인다. 즉, 데이터의 입출력이 이루어지는 동안 CPU가 다른 작업을 할 수 있다.
또한, 인터럽트는 입출력 관리자가 CPU에 보내는 완료 신호이다. CPU는 입출력 관리자에게 작업 지시를 내리고 다른 일을 하다가 완료 신호를 받으면 하던 일을 중단하고 옮겨진 데이터를 처리한다. 이처럼 하던 일을 중단하고 처리해야 하는 신호라는 의미에서 인터럽트라고 불리게 되었다.
- CPU가 입출력 관리자에게 입출력 명령을 보낸다
- 입출력 관리자는 명령받은 데이터를 메모리에 가져다 놓거나 메모리에 있는 데이터를 저장장치로 옮긴다.
- 데이터 전송이 완료되면 입출력 관리자는 완료 신호를 CPU에 보낸다.