인터럽트
CPU가 현재 하던 일을 중단하고 미리 정의된 다른 일을 하도록 처리하는 비동기적 방법
하드웨어 인터럽트
- 각 장치가 어떤 비동기적 상황 발생을 CPU에게 알리는 신호 / 인터럽트 발생 / CPU는 ISR 실행
소프트웨어 인터럽트
- CPU 명령어에 의해 하드웨어 인터럽트 수신한 것처럼 처리
ex) 예시
- 사용자의 입력 장치 조작, 디스크 처리 종료
- 시스템 클럭으로부터 시간 만료 알림
- USB 메모리 부착 혹은 해제
IDTR(Interrupt Descriptor Table Register)
인터럽트 백터 테이블의 시작 주소와 크기를 가진 CPU 안에 있는 레지스터
IVT(Interrupt Vector Table)
각 인터럽트에 대한 ISR의 시작 주소(인터럽트 벡터)를 갖는 테이블
인터럽트는 다중 프로그래밍의 핵심
다중 프로그래밍 환경에서
- 입출력 처리가 완료되었다는 것을 통보 받는 방법
- CPU 폴링(polling)에 비해 효율적
인터럽트의 효과
- 입출력 장치와 CPU가 동시에 각자의 작업 실행 가능
- 컴퓨터 시스템의 효율적 동작
- CPU 이용률(활용률)과 시스템의 처리율 향상