본문 바로가기
IT 용어

인터럽트란?

by HP_Factory 2023. 4. 9.

인터럽트의 개념

인터럽트는 프로그램을 실행하는 도중에 예기치 않은 상황이 발생한 경우, 현재 실행 중인 작업을 즉시 중단하고 발생된 상황을 우선 처리한 후 실행 중이던 작업으로 복귀하여 계속 처리하는 것을 말한다. '끼어들기'라고도 한다. 인터럽트는 외부 인터럽트, 내부 인터럽트, 소프트웨어 인터럽트로 분류하는데, 외부나 내부 인터럽트는 CPU의 하드웨어에서의 신호에 의해 발생하고 소프트웨어 인터럽트는 명령어의 수행에 의해 발생한다. 동시에 하나 이상의 인터럽트가 발생하였을 때 먼저 서비스할 장치를 결정하는 인터럽트 우선순위 판별 방법에는 소프트웨어적인 방법으로 폴링, 하드웨어적인 방법으로 데이지 체인과 병렬 우선 처리 방식이 있다. 인터럽트가 발생하면 인터럽트를 처리하고 되돌아올 주소가 스택(Stack)에 저장된다.

 

 

 

인터럽트 과정

1. 예기치 않은 상황 발생 (인터럽트 요청)

 

2. 작업 상태 저장 (상태 보관)

 

3. 장치 식별 (처리 루틴)

 

4. 인터럽트 조치 (취급 루틴)

 

5. 작업 복귀

 

 

인터럽트 종류

[ 소프트웨어 인터럽트 ]

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

 

[ 하드웨어 인터럽트 ]

정전 인터럽트는 정전이 되거나 전원의 이상에 의해 발생하는 인터럽트이다.

기계 착오 인터럽트는 CPU의 기능적인 오류 동작에 의해 발생하는 인터럽트이다.

외부 인터럽트는 입·출력장치, 타이밍 장치, 오퍼레이터의 조작에 의해 발생하는 인터럽트이다.

·출력(I/O) 인터럽트 ·출력 조작의 종료 및 입·출력의 착오 등에 의해 발생하는 인터럽트이다.

댓글