인터럽트란?
인터럽트
- CPU가 현재 처리 중인 작업을 잠시 중단하고, 긴급한 작업을 처리하도록 하는 메커니즘.
- 시스템 자원을 할당받은 프로세스와 스레드에게 메모리에 있는 명령어를 순차적으로 실행하다가, 인터럽트가 발생하면 이들에게서 할당된 자원을 빼앗고 인터럽트 벡터1로 이동하여 인터럽트 핸들러 함수2를 실행한다. 이후 인터럽트가 종료되면 다시 작업을 재개한다.
종류
- 하드웨어 인터럽트
- 타이머 인터럽트, I/O 인터럽트 등.
- 일반적으로 소프트웨어 인터럽트에 비해 우선순위가 높다.
- 타이머 인터럽트, I/O 인터럽트 등.
- 소프트웨어 인터럽트
- 시스템 콜, 예외(0으로 나누기, 잘못된 메모리 접근) 등.
트랩
이라고도 불린다.
- 시스템 콜, 예외(0으로 나누기, 잘못된 메모리 접근) 등.
1인터럽트 벡터: 인터럽트 핸들러 함수의 주소를 저장하는 테이블.
2인터럽트 핸들러 함수(Interrupt Service Routine, ISR): 인터럽트가 발생했을 때 실행되는 함수.