ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [전산기초] 인터럽트 Interrupt
    비전공자 공부일기/:: Computer Science 2021. 7. 11. 10:34

    1. 인터럽트의 정의

    인터럽트는 프로그램을 실행하는 도중에 예기치 않은 상황이 발생할 경우, 현재 실행중인 작업을 즉시 중단하고 발생된 상황을 우선 처리한 후 실행중이던 작업으로 복귀하여 계속 처리하는 것을 말한다. 일명 '끼어들기'라고도 한다.

     

    - 인터럽트는 외부 인터럽트, 내부 인터럽트, 소프트웨어 인터럽트로 분류

      --> 외부나 내부 인터럽트는 CPU의 하드웨어에서의 신호에 의해 발생

           / 소프트웨어 인터럽트는 명령어의 수행에 의해 발생

    - 동시에 하나 이상의 인터럽트가 발생하였을 때 먼저 서비스할 장치를 결정하는 인터럽트 우선순위 판별 방법에는

      소프트웨어적인 방법으로 폴링, 하드웨어적인 방법으로 데이지 체인과 병렬 우선처리 방식이 있다.

    - 인터럽트가 발생하면 인터럽트를 처리하고 되돌아올 주소가 스택(Stack)에 저장된다.

     

     

    2. 인터럽트의 종류 및 발생 원인

    하드웨어적인 인터럽트

    정전 인터럽트 정전이 되거나 전원의 이상에 의해 발생
    기계 착오 인터럽트 CPU의 기능적인 오류 동작에 의해 발생
    외부(External) 인터럽트 입출력장치, 타이밍 장치, 오퍼레이터의 조작에 의해 발생
    입출력(I/O) 인터럽트 입출력 조작의 종료 및 입출력의 착오 등에 의해 발생

     

    소프트웨어 인터럽트

    프로그램 처리 중 명령의 요청에 의해 발생하는 것으로, 가장 대표적인 형태는 감시 프로그램을 호출하는 SVC(SuperVisor Call)* 인터럽트가 있다.

     

    * SVC

    예를 들어 한글 프로그램을 끝내기 위해 종료 명령을 선택하면, 프로그램의 제어를 한글에서 운영체제의 감시 프로그램으로 옮기는 SVC 인터럽트가 발생함.

     

     

    댓글

coding wanee