CPU가 프로그램을 실행하고 있을 때, 입출력 하드웨어 혹은 소프트웨어에 의해 예외상황이 발생하여 처리가 필요한 경우에 CPU에게 이를 알려주는 것
예를들어 A라는 프로그램이 CPU를 할당받고 명령을 수행하고 있는데 인터럽트가 발생하면 A는 현재 수행중인 명령의 위치를 저장해놓고, 인터럽트를 처리한 후 다시 돌아와 A의 작업을 다시 실행한다.
하드웨어 인터럽트
하드웨어 장치의 컨트롤러가 CPU의 서비스를 요청하기 위해 발생시키는 인터럽트를 말한다.
운영체제 타이머 인터럽트
운영체제는 각 프로그램들이 공평한 시간동안 CPU를 할당받을 수 있도롱 설정된 시간동안 CPU를 사용하고, 사용시간이 종료되면 인터럽트를 발생시킨다.
예외(Exception)
프로그램이 허용되지 않은 연산을 수행하려고 할 때 자동적으로 발생하는 인터럽트이다.
(0으로 나누기, 권한 없는 메모리 참조 등)
시스템 콜
프로세스가 운영체제의 서비스를 요청하기 위해 커널의 함수를 호출하는 경우 발생하는 인터럽트
발생한 인터럽트는 CPU가 인터럽트를 확인하고, 인터럽트 벡터와 인터럽트 핸들러를 통해 상황에 맞는 인터럽트를 처리한다.
인터럽트 벡터
여러가지 인터럽트 상황에 대해 해당 인터럽트 발생 시 처리해야할 루틴의 주소를 담고 있는 테이블로 일종의 함수를 가리키는 포인터이다.
인터럽트 핸들러
실제 인터럽트를 처리하기 위한 루틴으로 인터럽트 서비스 루틴이라고도 한다.
운영체제 코드에는 각종 인터럽트 별로 처리해야 할 내용이 이미 프로그래밍되어 있으며 이 부분을 인터럽트 핸들러라고 한다.
인터럽트가 발생하면 CPU는 인터럽트 벡터를 통해 해당 인터럽트가 실행해야할 루틴이 담긴 메모리 주소 확인한 후 인터럽트 서비스 루틴을 찾아가 상황에 맞는 처리를 진행한다.