1. 인터럽트
ㅇ CPU나 프로그램에 대해 현재 작업을 잠시 중단하고, 특정 작업을 수행토록 하는 것
- 주로, 하드웨어가 주는 시그널에, 소프트웨어가 반응하도록 하는 것
2. 인터럽트의 종류
ㅇ 하드웨어 인터럽트 : 例) 키 입력 또는 마우스 클릭 등의 동작시 인터럽트 발생
- 주변장치 등이 자신에게 발생한 사건을 운영체제 커널에게 알리는 수단/매커니즘
. 특히, CPU로 하여금 현재 작업을 중단하고, 다른 급한 처리를 하도록 요구하는 메커니즘
.. 이렇게 급히 요구되는 처리를, 인터럽트 서비스 루틴 이라고 부름 ☞ 아래 4.항 참조
.. 인터럽트 처리가 끝나면, CPU는 원래 작업으로 복귀하여 수행을 계속하게 됨
. 즉, 인터럽트에 의해 운영체제가 CPU를 현재 작업에서 빼앗아 커널 루틴을 실행 가능케 함
- 운영체제는, 인터럽트를 통해, 모든 자원의 제어 가능
. 인터럽트는, 하드웨어와 운영체제 간의 상호작용의 핵심 부분임
ㅇ 소프트웨어 인터럽트 : 例) 0으로 나누는 것 등 ☞ 트랩 참조
- 예외처리(Exception Handling)
3. 인터럽트의 발생원인 例
ㅇ 하드웨어적인 장애 발생시
- 데이터의 전달 과정에서 오류의 발생 등
- 컴퓨터 자체 내 하드웨어적 장애가 발생하는 경우
ㅇ 프로그램 수행 문제 발생시
- 보호된 기억공간에 접근, 혹은 불법적인 인스트럭션의 수행 등
- 프로그램상의 문제가 발생하는 경우
ㅇ 의도적인 조작시
- 의도적인 조작에 의하여, 프로그램의 수행을 중단시키는 경우
ㅇ CPU 개입 요구시
- 입출력과 같은 주변 장치들의 조작에 따라, CPU의 기능이 요구되는 경우
ㅇ 이상 발생시
- 컴퓨터가 제어하는 주변 상황에 이상이 있는 경우 등
4. 인터럽트의 발생시 행동 방식
ㅇ 각 인터럽트별로, 발생시 취할 행동을 지시하는,
- 인터럽트 서비스 루틴(ISR, Interrupt Service Routine)들을 제공하게 됨