[6일차] 2025 정보처리산업기사 운영체제 – 인터럽트 처리와 장치 제어 (Interrupt & Channel I/O)

정보처리산업기사, 운영체제의 입출력 시스템은 CPU, 메모리, 장치 간의 상호작용을 효율적으로 관리하기 위한 핵심 요소다. CPU는 빠르게 명령을 처리하지만, 입출력 장치는 상대적으로 느리기 때문에 이러한 속도 차이를 보완하기 위해 인터럽트(Interrupt)채널 I/O(Channel I/O) 같은 제어 기법이 사용된다. 이번 학습에서는 운영체제의 효율을 높이는 핵심 제어 방식인 인터럽트 처리 과정과 장치 제어 구조를 중심으로 정리한다.


1. 인터럽트(Interrupt)의 개념

인터럽트(Interrupt) 란 CPU가 명령을 실행하던 도중 예외적인 사건이 발생했을 때, 현재 작업을 일시 중단하고 해당 사건을 우선 처리하는 제어 메커니즘이다. 이는 CPU가 모든 장치의 상태를 일일이 확인하지 않아도 되게 하여 효율적인 자원 관리가 가능하도록 만든다. 즉, 입출력 장치가 “작업이 끝났어요”라고 CPU에 신호를 보내는 방식이다.


2. 인터럽트의 종류

운영체제에서의 인터럽트는 발생 원인에 따라 여러 형태로 구분된다.

구분설명
외부 인터럽트(External Interrupt)입출력 장치 완료, 타이머 신호, 전원 이상 등 외부 요인으로 발생
내부 인터럽트(Internal Interrupt)0으로 나누기, 오버플로우 등 CPU 내부 오류로 발생
소프트웨어 인터럽트(Software Interrupt)사용자나 프로그램이 명령어로 발생시키는 의도적 인터럽트
입출력 인터럽트(I/O Interrupt)입출력 장치의 작업 완료나 오류 발생 시 CPU에 신호 전송

이 중 입출력 인터럽트 는 운영체제 입출력 효율을 높이는 가장 중요한 형태로, CPU와 장치 간의 직접적인 동기화를 담당한다.


3. 인터럽트 처리 과정 (ISR 흐름)

인터럽트가 발생하면 CPU는 현재 실행 중인 작업 상태를 보존하고, 인터럽트 서비스 루틴(ISR, Interrupt Service Routine) 으로 제어를 넘긴다. 이후 ISR에서 요청된 작업을 처리한 뒤 다시 원래 작업으로 복귀한다. 이 일련의 과정을 컨텍스트 스위칭(Context Switching) 이라고 한다.

동작 순서 요약

  1. 장치에서 인터럽트 신호 발생
  2. CPU가 현재 작업 상태(레지스터, 프로그램 카운터 등) 저장
  3. 인터럽트 벡터를 통해 ISR 주소 탐색
  4. ISR(인터럽트 서비스 루틴) 실행
  5. 요청 처리 완료 후 저장된 상태 복원
  6. 중단된 명령으로 복귀

이 과정을 통해 CPU는 비효율적인 폴링(Polling)을 피하고, 필요한 시점에만 장치 요청을 처리할 수 있다.


4. 인터럽트 우선순위(Priority)

시스템에는 여러 인터럽트가 동시에 발생할 수 있기 때문에, 운영체제는 우선순위(Priority) 를 부여하여 중요도가 높은 인터럽트를 먼저 처리한다. 예를 들어 전원 이상 신호는 프린터 완료보다 더 높은 우선순위를 갖는다.

우선순위예시
1순위 (Highest)전원 이상, 긴급 오류
2순위타이머 인터럽트
3순위입출력 장치 인터럽트
4순위 (Lowest)소프트웨어 요청

운영체제는 하드웨어적 마스크(Mask) 제어 를 통해 특정 인터럽트를 일시적으로 차단할 수도 있다. 이를 마스크 인터럽트(Masked Interrupt) 라고 하며, 중요한 처리 중 불필요한 인터럽트를 방지하는 데 활용된다.


5. 인터럽트 제어 방식 비교

방식설명특징
폴링(Polling)CPU가 주기적으로 장치 상태 확인구조 단순하지만 CPU 낭비 많음
인터럽트 제어(Interrupt Control)장치가 직접 CPU에 신호 전송효율적, 실시간 반응 가능
DMA(Direct Memory Access)장치가 CPU를 거치지 않고 메모리 직접 접근대용량 데이터 전송 시 사용

이 중 DMA 방식 은 CPU 개입을 최소화해 입출력 효율을 극대화하며, 대용량 데이터 전송 시 병목 현상을 줄이는 데 주로 사용된다.


6. 채널 I/O (Channel Input/Output)

채널 I/O(Channel I/O) 는 대형 시스템(Mainframe)에서 사용하는 고급 입출력 구조로, 입출력 제어기를 독립된 하드웨어 프로세서 로 구성하여 CPU의 부담을 줄이는 방식이다. 즉, 입출력 명령을 CPU가 직접 처리하지 않고 채널 프로세서(Channel Processor) 가 대신 수행한다.

구성 요소설명
CPU채널에 I/O 명령 전송
채널(Channel)입출력 작업을 독립적으로 제어
제어기(Control Unit)장치와 채널 간 신호 중계
장치(Device)실제 데이터 입출력 담당

채널 I/O는 병렬 처리가 가능하며, CPU는 입출력 작업이 끝날 때까지 대기하지 않고 다른 명령을 계속 수행할 수 있다. 이러한 구조는 현대 시스템의 DMA 개념과 유사한 병렬성(Parallelism)을 구현한다.


7. 인터럽트와 채널 I/O의 관계

인터럽트는 이벤트 중심의 제어, 채널 I/O는 하드웨어 기반의 분산 처리 구조다. 인터럽트는 장치가 CPU에 직접 요청을 보내는 방식이고, 채널 I/O는 CPU가 명령을 내려놓고 입출력 전용 프로세서가 독자적으로 수행한 뒤 완료 신호만 CPU로 전달하는 구조다. 즉, 채널 I/O는 “고급형 인터럽트 제어”라고 볼 수 있다.


결론

인터럽트와 채널 I/O는 운영체제의 입출력 효율을 극대화하는 핵심 제어 메커니즘이다. 폴링처럼 CPU가 직접 장치를 감시하는 비효율적 구조를 대신하여, 인터럽트는 사건 중심으로 CPU를 효율적으로 활용하고, 채널 I/O는 하드웨어 수준에서 입출력을 병렬 처리한다. 정보처리산업기사 실기에서는 다음과 같은 출제 포인트가 자주 등장한다.

  • 인터럽트의 정의 및 처리 순서
  • 인터럽트 우선순위 결정 방식
  • DMA와 채널 I/O의 구조 비교
  • 폴링과 인터럽트의 차이

다음 학습 – 데이터베이스의 개념과 필요성

운영체제는 하드웨어 자원을 효율적으로 관리하는 시스템이라면, 데이터베이스는 소프트웨어 관점에서 정보를 체계적으로 저장하고 관리하는 시스템이다. 다음 학습에서는 데이터베이스의 개념과 필요성을 시작으로, 데이터의 구조적 관리와 DBMS의 기본 원리를 살펴본다.

정보처리산업기사 관련링크 모음

  • 큐넷(Q-Net) 정보처리산업기사 안내
    -> 바로가기
  • 큐넷 원서접수 페이지 (정보처리산업기사 실기)
    -> 바로가기
  • 한국산업인력공단 공식 홈페이지
    ->바로가기
  • 이기적 2025 정보처리산업기사 실기 교재 공식몰 (영진닷컴)
    -> 바로가기
  • HRD-Net (직업훈련포털)
    -> 바로가기

“이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.”