장치나 소프트웨어에서 운영체제로 전송되는 신호이다.(하드웨어를 잠깐 멈추는(방해) 신호)
컴퓨터는 기본적으로 혼자 작동할 수 없고, 주변기기와 함께 작동한다. 주변기기와 컴퓨터가 통신 즉, 입/출력을 할 때마다 인터럽트가 발생한다.
인터럽트 발생 시 운영체제는 현재 진행 중인 작업을 일시적으로 중단하고 인터럽트 핸들러를 사용해 인터럽트를 처리한다.
인터럽트는 사용자 입력, 데이터 전송 완료, 오류 조건 등 즉각적인 처리를 필요로 하는 이벤트를 알리기 위해 사용된다.
인터럽트 핸들러는 인터럽트를 처리하고 인터럽트의 유형과 우선순위에 따라 적절한 조치를 취한다.
인터럽트 처리 과정에서 운영 체제는 중요하지 않은 기능을 우선순위가 높은 인터럽트 처리를 무시하거나 지연시킬 수 있다. 이를 위해 중요한 작업이나 이벤트 처리에 우선순위를 부여할 수 있다.
하드웨어 오류
프린터에서 용지 걸림과 같은 하드웨어 오류가 발생한 경우
디스크 드라이버 준비
디스크 드라이버에서 더 많은 데이터를 수신할 준비가 되었을 경우
사용자의 입력
사용자가 현재 프로세스를 중단하려고 ctrl+alt+delete 키를 눌렀을 경우
소프트웨어 오류
소프트웨어에서 오류가 발생한 경우
위와 같이 일부 인터럽트는 사용자 개입을 필요로 할 수 있으나(사용자의 입력), 몇몇은 자동으로 발생한다(디스크 드라이버 준비).
인터럽트를 통해 다중 프로그램 실행이 가능해지므로, 사용자는 동시에 여러 작업을 수행하는 것처럼 느낄 수 있다.
컴퓨터는 원래 한 번에 하나의 프로그램만 실행(작업을 처리)할 수 있다.
인터럽트로 인해 멀티태스킹이 가능해지면서, 여러 프로그램이 동시에 실행되는 것처럼 느껴지게 한다.
실제로는 프로그램들이 굉장히 빠르게 전환되면서, 스케쥴된 인터럽트를 사용한다.
인터럽트 신호를 수신하는 대로 처리하는 역할을 한다.
인터럽트 신호를 우선순위에 따라 처리
여러 개의 인터럽트가 동시에 발생할 경우, 적절한 순서로 처리하기 위해 우선순위를 결정한다.
일반적으로 인터럽트를 처리하기 위해 큐를 사용해 인터럽트를 배치한다.
우선순위에 따라 큐에 인터럽들을 배치하고 핸들러는 큐에서 순서대로 인터럽트를 가져와 처리한다.