인터럽트

인터럽트의 개요

인터럽트의 정의

외부 장치로부터 중앙처리장치로 전해지는 특별한 하드웨어 신호

인터럽트의 원리

  1. 프로그램 실행 -> 인터럽트 발생
  2. 프로그램 중단 -> 현 프로그램 상태보관
  3. 인터럽트 처리 -> 서비스 루틴 결정
  4. 인터럽트 서비스 루틴 -> 상태복구
  5. 프로그램 중단 부분 재실행

인터럽트의 종류

항목 발생하는 곳 상세 설명
슈퍼바이저 호출 인터럽트 일반 사용자 프로그램 입출력 수행, 기억장치의 할당, 또는 오퍼레이터와의 대화 등
입출력장치 인터럽트 하드웨어 입출력이 완료되었거나 에러가 발생했을 때, 기기가 대기 상태에 있을 때
외부 인터럽트 외부 시스템 인터럽트 시간 만료, 사용자 콘솔 키입력, 다른 프로세스로부터의 신호
재시작 인터럽트 사용자, 프로세스 사용자가 콘솔에서 재시작 단추 입력, 다른 프로그램에서 재시작 명령 도착
프로그램 검사 인터럽트 프로세스 수행 중인 프로세스의 잘못된 명령에 의해 발생
기계 검사 인터럽트 시스템 기계 고장 시 발생

인터럽트 사이클

다중 인터럽트

  1. 인터럽트 불가능: 이후에 발생한 인터럽트를 중앙처리장치가 무시, 순차적으로 실행
  2. 우선순위 인터럽트: 우선순위를 부여하여 높은 순으로 처리