인터럽트란?

인터럽트

  • CPU가 현재 처리 중인 작업을 잠시 중단하고, 긴급한 작업을 처리하도록 하는 메커니즘.
  • 시스템 자원을 할당받은 프로세스와 스레드에게 메모리에 있는 명령어를 순차적으로 실행하다가, 인터럽트가 발생하면 이들에게서 할당된 자원을 빼앗고 인터럽트 벡터1로 이동하여 인터럽트 핸들러 함수2를 실행한다. 이후 인터럽트가 종료되면 다시 작업을 재개한다.

종류

  1. 하드웨어 인터럽트
    • 타이머 인터럽트, I/O 인터럽트 등.
    • 일반적으로 소프트웨어 인터럽트에 비해 우선순위가 높다.

  2. 소프트웨어 인터럽트
    • 시스템 콜, 예외(0으로 나누기, 잘못된 메모리 접근) 등.
    • 트랩이라고도 불린다.

1인터럽트 벡터: 인터럽트 핸들러 함수의 주소를 저장하는 테이블.
2인터럽트 핸들러 함수(Interrupt Service Routine, ISR): 인터럽트가 발생했을 때 실행되는 함수.