스물두줄

컴퓨터시스템응용기술사 · 개념서 · 컴퓨터 구조 및 운영체제

인터럽트 처리

설명 영상 인터럽트 처리 · 2:30

왜 배우는가: 인터럽트 처리는 CPU가 외부 사건에 응답하고 문맥을 보존하는 기본 메커니즘이라 운영체제·임베디드·실시간 시스템 전반의 출발점이 된다. 기출에서도 발생 요인, 마스커블·넌마스커블 구분, 벡터 인터럽트 동작, ISR 진입과 복귀 과정이 반복해서 묻는 핵심 주제다.

출제 이력: 제120회 2교시 5번, 제114회 2교시 1번, 제111회 3교시 1번, 제98회 1교시 13번, 제96회 3교시 2번

1. 한 줄 정의와 핵심 키워드

다음은 답안 첫 줄에 쓸 정의 문장이다.

인터럽트는 CPU가 현재 명령어 흐름을 일시 중단하고 긴급 사건을 처리한 뒤 원래 위치로 복귀하는 메커니즘이다.

핵심 키워드는 다음과 같다.

  • 인터럽트 요청 신호(Interrupt Request)
  • 인터럽트 서비스 루틴(ISR)
  • 인터럽트 벡터 테이블(IVT)
  • 마스커블 인터럽트(Maskable Interrupt)
  • 넌마스커블 인터럽트(NMI)
  • 트랩(Trap)
  • 문맥 전환(Context Switch)
  • 우선순위 인터럽트(Priority Interrupt)

2. 개념 풀이

쉬운 말로 하면 인터럽트는 "하던 일을 잠깐 멈추고 급한 일부터 처리하는 장치"다. 사람이 책을 읽다가 전화벨이 울리면 책갈피를 꽂고 전화를 받은 뒤 다시 책을 읽는 것과 같다.

정식 정의는 다음과 같다. 인터럽트는 하드웨어 장치나 프로그램 내부 사건이 CPU에 신호를 보내, CPU가 현재 실행 중인 명령어 흐름을 중단하고 해당 사건을 처리하는 ISR로 분기하게 하는 제어 전환 기법이다.

인터럽트 요청 신호(Interrupt Request)는 장치가 CPU에 처리를 요청하기 위해 보내는 전기적 신호다. 인터럽트 서비스 루틴(ISR)은 특정 인터럽트 조건을 처리하는 전용 코드 블록이다. 처리가 끝나면 원래 프로그램으로 돌아간다.

트랩(Trap)은 프로그램 내부에서 발생하는 내부 인터럽트다. 0으로 나누기, 메모리 참조 오류, 시스템 호출이 여기에 속한다. 발생 시점이 명령어 실행 위치에 고정되므로 동기적이다. 반면 외부 장치에서 발생하는 인터럽트는 시점이 일정하지 않아 비동기적이다.

마스커블 인터럽트(Maskable Interrupt)는 인터럽트 마스크 비트로 일시적으로 무시할 수 있는 인터럽트다. 넌마스커블 인터럽트(NMI)는 마스크로 막을 수 없는 최고 우선순위 인터럽트다.

3. 등장 배경과 필요성

초기 컴퓨터는 CPU가 주변장치 상태를 반복해서 확인하는 폴링(Polling) 방식으로 입출력을 처리했다. 이 방식은 CPU 시간을 낭비하고 응답이 늦었다. 인터럽트는 장치가 완료나 오류를 스스로 알리게 하여 CPU가 다른 작업을 계속하도록 만들었다.

현대 운영체제는 타이머 인터럽트로 시분할 스케줄링을 구현한다. 시스템 호출은 소프트웨어 인터럽트로 커널 모드 진입을 구현한다. 메모리 보호와 페이지 폴트 처리도 인터럽트 기반이다. 따라서 인터럽트는 다중 작업과 보호 체계를 동시에 가능하게 하는 기반 기술이다.

인터럽트 체제의 기본 요소는 인터럽트 요청 신호, 인터럽트 처리 기능, 인터럽트 취급 루틴, 인터럽트 우선순위 네 가지다. 이 네 요소가 함께 작동해야 다중 인터럽트를 안정적으로 처리할 수 있다. 실시간 시스템에서는 우선순위 체제와 응답 시간 보장이 특히 중요하다.

이어지는 내용

로그인하면 하루 5페이지까지 무료로 전체를 읽을 수 있습니다.

앱에서 이 단원 읽기