인터럽트

위키백과, 우리 모두의 백과사전.
이동: 둘러보기, 찾기
Question book-4.svg 이 문서의 내용출처가 분명하지 않습니다.
지금 바로 이 문서를 편집하여, 참고하신 문헌이나 신뢰할 수 있는 출처를 주석 등으로 표기해 주세요. 검증되지 않은 내용은 삭제될 수도 있습니다. 내용에 대한 의견은 토론 문서에서 나누어 주세요.

인터럽트(interrupt, 문화어: 중단, 새치기)란 어떤 장치가 다른 장치의 일을 잠시 중단시키고 자신의 상태 변화를 알려 주는 것이다. 인터럽트가 걸리면 인터럽트를 받은 장치는 현재 자신의 상태를 기억시켜두고 인터럽트 처리를 진행한다.

목차

[편집] 기능

인터럽트는 모든 서비스 루틴들의 주소를 가지고 있는 인터럽트 벡터를 통해, 인터럽트 서비스 루틴으로 제어 신호를 전송한다. 인터럽트 아키텍처는 인터럽트된 명령의 주소를 보존해야 한다. 어떤 인터럽트를 처리하고 있는 중에는 그 인터럽트를 잃어버리지 않기 위해 새로운 인터럽트를 받아들이지 않는다. 트랩이란 오류나 사용자 요청에 의해 소프트웨어가 발생시킨 인터럽트이다.

[편집] 핸들링

운영 체제는 레지스터프로그램 카운터를 보관함으로써 CPU의 상태를 보존한다. 인터럽트가 폴링, 벡터 인터럽트 중 어떤 형식인지 판단한다. 코드의 개별 부분들은 각 인터럽트 형식에 대해 어떤 동작을 취해야 할지 결정한다.

[편집] 처리 과정

  1. 수행 상태를 보관한다.
  2. 인터럽트 서비스 루틴으로 점프하여 인터럽트 처리 프로그램을 실행한다.
  3. 저장된 상태를 복구한다.
  4. 수행을 재개한다.

[편집] 종류

  1. 슈퍼바이저 호출 인터럽트(Superviser Call Interrupt) : 사용자가 프로그램에서 SVC 명령을 호출 하였을 경우, I/O 수행, 기억 장치 할달등의 역할을 하는 인터럽트
  2. 입출력 인터럽트(I/O Interrupt) : 입출력의 종료나, 입출력의 오류에 의해 CPU의 기능이 요청되는 인터럽트
  3. 외부 인터럽트(External Interrupt) : 오퍼레이터나 타이머에 의해 의도적으로 프로그램이 중단되는 인터럽트
  4. 재시작 인터럽트(Restart Interrupt) : 오퍼레이터 및 다른 프로세스에 의해 재시작 명령이 도착했을 때 실행되는 인터럽트
  5. 프로그램 검사 인터럽트(Program Check Interrupt) : 프로그램 실행중 보호된 기억 공간 내에 접근하거나, 불법적인 명령수행과 같은 프로그램의 문제가 발생한 경우

[편집] 같이 보기

개인 도구
이름공간

변수
행위
둘러보기
인쇄/내보내기
도구모음
다른 언어