토픽 65 / 85·파일 시스템, I/O, 시스템 구조
인터럽트 (Interrupt)
인터럽트 (Interrupt)
하드웨어나 소프트웨어가 CPU에게 긴급 처리를 요청하는 비동기 이벤트로, 현재 실행을 중단하고 인터럽트 서비스 루틴을 실행하게 하는 메커니즘
목적: 비동기 이벤트 처리, I/O 완료 통지, 예외 처리, 효율적 시스템 운영
특징: 비동기, 우선순위, 컨텍스트 저장·복원, 벡터 기반
분류
- •하드웨어 인터럽트: I/O 완료, 타이머, 키보드, 네트워크, 비동기
- •소프트웨어 인터럽트(Trap): 시스템 콜, 예외, 동기
- •예외(Exception): Page Fault, Division by Zero, Segmentation Fault, 동기
처리 과정: ① 인터럽트 발생 → ② 현재 상태 저장(PC, 레지스터) → ③ IVT에서 핸들러 주소 획득 → ④ ISR 실행 → ⑤ 상태 복원 및 복귀
IVT(Interrupt Vector Table): 인터럽트 번호 → 핸들러 주소 매핑, x86은 IDT(Interrupt Descriptor Table)
ISR(Interrupt Service Routine): 인터럽트 핸들러, 빠른 처리, 최소 작업
우선순위: Reset > Machine Check > Page Fault > Hardware Interrupt > Software Interrupt
마스킹: Maskable(IF 플래그로 차단) vs Non-Maskable(NMI, 차단 불가)
장점: 효율적 I/O, CPU 활용률 향상, 실시간 응답, 멀티태스킹
단점: 오버헤드(컨텍스트 저장·복원), ISR 복잡성, 우선순위 관리
적용사례: 모든 OS, I/O 처리, 타이머(스케줄링), 예외 처리, 키보드·마우스
비교: 인터럽트(비동기/HW) vs Trap(동기/SW) vs Polling(CPU 반복체크/비효율)
연관: ISR, IVT, 시스템 호출, 예외, DMA