CS/운영체제

[운영체제] 인터럽트(Interrupt)

Heeyeon Choi 2024. 10. 31. 20:41
728x90
컴퓨터 시스템에서 CPU가 현재 작업을 중단하고 특정 사건을 처리해야 하는 상황이 발생할 때, CPU에 이를 알리는 신호

인터럽트의 동작 과정

  1. 인터럽트 발생: 입출력 장치, 타이머, 사용자 입력, 예외 상황 등으로 인해 인터럽트 신호가 발생합니다.
  2. 현재 작업 중단 및 상태 저장: CPU는 현재 작업을 중단하고, 현재 프로세스의 상태(레지스터 정보 등)를 저장해 둡니다.
  3. 인터럽트 서비스 루틴(ISR) 실행: 인터럽트를 처리하기 위한 특정 코드인 인터럽트 서비스 루틴(Interrupt Service Routine, ISR)을 실행합니다.
  4. 상태 복구 및 작업 재개: ISR이 완료되면 CPU는 저장된 상태를 복원하여 중단된 작업을 이어서 수행합니다.

인터럽트의 종류

인터럽트는 발생 원인에 따라 크게 하드웨어 인터럽트소프트웨어 인터럽트로 나눌 수 있습니다.

  1. 하드웨어 인터럽트
    • 입출력 장치 인터럽트: 키보드, 마우스, 프린터 등 하드웨어 장치에서 발생하는 인터럽트입니다. 예를 들어, 키보드 입력 시 CPU가 이를 처리할 수 있도록 인터럽트가 발생합니다.
    • 타이머 인터럽트: 주기적으로 CPU 시간을 다른 프로세스에 할당하거나 시스템 시간을 유지하기 위해 발생합니다.
    • 외부 인터럽트: 전원 공급 문제, 기타 외부 신호에 의해 발생합니다.
  2. 소프트웨어 인터럽트
    • 시스템 호출 인터럽트: 프로그램이 운영체제의 특정 기능을 요청할 때 발생합니다. 파일 입출력, 메모리 할당 등 운영체제의 기능을 요청할 때 소프트웨어 인터럽트를 발생시킵니다.
    • 예외 상황 인터럽트: 0으로 나누기, 오버플로우, 메모리 접근 오류 등 예상치 못한 예외 상황이 발생할 때 CPU가 처리하기 위해 발생합니다.

인터럽트의 역할

  • 효율적인 자원 관리: CPU가 특정 작업을 대기하지 않고 다른 작업을 수행할 수 있어, 시스템 자원을 효율적으로 사용합니다.
  • 실시간 처리 지원: 중요한 사건이 발생하면 즉시 CPU가 처리하여 빠르게 대응할 수 있습니다.
  • 다중 작업 지원: 다양한 작업 간의 우선순위를 정하고, 중요한 사건을 우선 처리하여 다중 작업이 원활히 진행되도록 돕습니다.

인터럽트 우선순위

인터럽트는 중요도에 따라 우선순위가 있으며, 우선순위가 높은 인터럽트가 발생하면 현재 처리 중인 인터럽트를 중단하고 더 중요한 인터럽트를 처리합니다. 이를 통해 시스템은 중요한 사건에 신속하게 대응할 수 있습니다.

인터럽트의 장점과 단점

  • 장점:
    • CPU가 필요할 때만 특정 작업을 처리할 수 있어 효율성이 높음.
    • 시스템이 다양한 사건에 실시간으로 대응할 수 있도록 지원.
  • 단점:
    • 잦은 인터럽트 발생 시 CPU의 오버헤드가 증가하여 시스템 성능이 저하될 수 있음.
    • 복잡한 인터럽트 구조는 설계와 관리가 어려움.

요약

인터럽트는 컴퓨터 시스템이 효율적으로 작업을 관리하고 실시간으로 사건에 대응할 수 있도록 하는 중요한 메커니즘입니다. CPU는 인터럽트를 통해 각종 작업을 동시 처리하며, 운영체제는 이를 통해 시스템 자원을 최적화하고 안정적인 성능을 유지합니다.

728x90