-
[전산기초] 인터럽트 Interrupt비전공자 공부일기/:: Computer Science 2021. 7. 11. 10:34
1. 인터럽트의 정의
인터럽트는 프로그램을 실행하는 도중에 예기치 않은 상황이 발생할 경우, 현재 실행중인 작업을 즉시 중단하고 발생된 상황을 우선 처리한 후 실행중이던 작업으로 복귀하여 계속 처리하는 것을 말한다. 일명 '끼어들기'라고도 한다.
- 인터럽트는 외부 인터럽트, 내부 인터럽트, 소프트웨어 인터럽트로 분류
--> 외부나 내부 인터럽트는 CPU의 하드웨어에서의 신호에 의해 발생
/ 소프트웨어 인터럽트는 명령어의 수행에 의해 발생
- 동시에 하나 이상의 인터럽트가 발생하였을 때 먼저 서비스할 장치를 결정하는 인터럽트 우선순위 판별 방법에는
소프트웨어적인 방법으로 폴링, 하드웨어적인 방법으로 데이지 체인과 병렬 우선처리 방식이 있다.
- 인터럽트가 발생하면 인터럽트를 처리하고 되돌아올 주소가 스택(Stack)에 저장된다.
2. 인터럽트의 종류 및 발생 원인
하드웨어적인 인터럽트
정전 인터럽트 정전이 되거나 전원의 이상에 의해 발생 기계 착오 인터럽트 CPU의 기능적인 오류 동작에 의해 발생 외부(External) 인터럽트 입출력장치, 타이밍 장치, 오퍼레이터의 조작에 의해 발생 입출력(I/O) 인터럽트 입출력 조작의 종료 및 입출력의 착오 등에 의해 발생 소프트웨어 인터럽트
프로그램 처리 중 명령의 요청에 의해 발생하는 것으로, 가장 대표적인 형태는 감시 프로그램을 호출하는 SVC(SuperVisor Call)* 인터럽트가 있다.
* SVC
예를 들어 한글 프로그램을 끝내기 위해 종료 명령을 선택하면, 프로그램의 제어를 한글에서 운영체제의 감시 프로그램으로 옮기는 SVC 인터럽트가 발생함.
'비전공자 공부일기 > :: Computer Science' 카테고리의 다른 글
[전산기초] 자료의 표현 (0) 2021.07.12 [전산기초] 컴퓨터 시스템의 구성 (0) 2021.07.11 [전산기초] 채널/DMA (0) 2021.07.11 [전산기초] 주기억장치 / 보조기억장치 (0) 2021.07.11 [전산기초] 프로세스 (0) 2021.07.10