Interrupt   인터럽트

(2021-06-15)

1. 인터럽트CPU프로그램에 대해 현재 작업을 잠시 중단하고, 특정 작업을 수행토록 하는 것
     - 주로, 하드웨어가 주는 시그널에, 소프트웨어가 반응하도록 하는 것


2. 인터럽트의 종류

  ㅇ 하드웨어 인터럽트   :  例) 키 입력 또는 마우스 클릭 등의 동작시 인터럽트 발생
     - 주변장치 등이 자신에게 발생한 사건을 운영체제 커널에게 알리는 수단/매커니즘
        . 특히, CPU로 하여금 현재 작업을 중단하고, 다른 급한 처리를 하도록 요구하는 메커니즘
           .. 이렇게 급히 요구되는 처리를, 인터럽트 서비스 루틴 이라고 부름      ☞ 아래 4.항 참조
           .. 인터럽트 처리가 끝나면, CPU는 원래 작업으로 복귀하여 수행을 계속하게 됨
        . 즉, 인터럽트에 의해 운영체제CPU를 현재 작업에서 빼앗아 커널 루틴을 실행 가능케 함
     - 운영체제는, 인터럽트를 통해, 모든 자원의 제어 가능
        . 인터럽트는, 하드웨어와 운영체제 간의 상호작용의 핵심 부분임

  ㅇ 소프트웨어 인터럽트 :  例) 0으로 나누는 것 등   ☞ 트랩 참조
    - 예외처리(Exception Handling)


3. 인터럽트의 발생원인 例

  ㅇ 하드웨어적인 장애 발생시
     - 데이터의 전달 과정에서 오류의 발생 등
     - 컴퓨터 자체 내 하드웨어적 장애가 발생하는 경우 
  ㅇ 프로그램 수행 문제 발생시
     - 보호된 기억공간에 접근, 혹은 불법적인 인스트럭션의 수행 등
     - 프로그램상의 문제가 발생하는 경우 
  ㅇ 의도적인 조작시
     - 의도적인 조작에 의하여, 프로그램의 수행을 중단시키는 경우 
  ㅇ CPU 개입 요구시
     - 입출력과 같은 주변 장치들의 조작에 따라, CPU의 기능이 요구되는 경우 
  ㅇ 이상 발생시
     - 컴퓨터제어하는 주변 상황에 이상이 있는 경우 등


4. 인터럽트의 발생시 행동 방식

  ㅇ 각 인터럽트별로, 발생시 취할 행동을 지시하는, 
     - 인터럽트 서비스 루틴(ISR, Interrupt Service Routine)들을 제공하게 됨



Copyrightⓒ written by 차재복 (Cha Jae Bok)
"본 웹사이트 내 모든 저작물은 원출처를 밝히는 한 자유롭게 사용(상업화포함) 가능합니다"