인터럽트 (Interrupt)
Jan 22, 2026 · Updated Jan 25, 2026
핵심 개념
섹션 제목: “핵심 개념”인터럽트는 하드웨어가 CPU에게 어떤 이벤트가 발생하여 주의가 필요함을 알리기 위해 신호를 보내는 메커니즘이다.
장치 컨트롤러가 작업을 완료했을 때, CPU에게 이를 알리는 방법이 필요하다.
동작 원리
섹션 제목: “동작 원리”- CPU가 인터럽트되면, 현재 작업을 중단
- 즉시 고정된 위치(인터럽트 서비스 루틴의 시작 주소)로 실행 전환
- 인터럽트 서비스 루틴 실행
- 완료 후 CPU는 중단된 연산을 재개
구현 방식
섹션 제목: “구현 방식”CPU 하드웨어에는 interrupt-request line이라는 선이 있다. CPU는 매 명령어 실행 후 이 라인을 감지한다.
1 Raise
컨트롤러가 신호를 assert 2 Catch
CPU가 인터럽트 번호를 읽음 3 Dispatch
인터럽트 벡터로 핸들러로 점프 4 Clear
핸들러가 처리 완료 후 해제 인터럽트의 종류
섹션 제목: “인터럽트의 종류”| 종류 | 설명 |
|---|---|
| Nonmaskable | 복구 불가능한 메모리 오류 등. 끌 수 없음 |
| Maskable | 중요한 명령 시퀀스 실행 전 CPU가 끌 수 있음 |
I/O 작업 시나리오:
- 장치 드라이버가 장치 컨트롤러의 레지스터에 값을 로드
- 컨트롤러가 동작 수행 (예: 키보드에서 문자 읽기)
- 데이터 전송 완료 후 컨트롤러가 인터럽트로 장치 드라이버에 통지
트레이드오프
섹션 제목: “트레이드오프”| 장점 | 단점 |
|---|---|
| 비동기 이벤트 처리 가능 | 빈번한 발생으로 효율적 처리 필요 |
| CPU가 지속적으로 폴링할 필요 없음 |
관련 개념
섹션 제목: “관련 개념”- 인터럽트 벡터 (Interrupt Vector) - 인터럽트 서비스 루틴 주소를 저장하는 주소 배열
- 트랩 (Trap) - 소프트웨어에 의해 생성되는 인터럽트의 한 종류
- 이중 모드 연산 (Dual-Mode Operation) - 인터럽트 발생 시 커널 모드로 전환되는 보호 메커니즘
- 타이머 (Timer) - 지정된 시간 후 인터럽트를 발생시켜 CPU 제어를 유지하는 장치
- Operating System Concepts, 10th Edition, Chapter 1, p.8-11