인터럽트
인터럽트의 개요
인터럽트의 정의
외부 장치로부터 중앙처리장치로 전해지는 특별한 하드웨어 신호
인터럽트의 원리
- 프로그램 실행 -> 인터럽트 발생
- 프로그램 중단 -> 현 프로그램 상태보관
- 인터럽트 처리 -> 서비스 루틴 결정
- 인터럽트 서비스 루틴 -> 상태복구
- 프로그램 중단 부분 재실행
인터럽트의 종류
항목 | 발생하는 곳 | 상세 설명 |
---|---|---|
슈퍼바이저 호출 인터럽트 | 일반 사용자 프로그램 | 입출력 수행, 기억장치의 할당, 또는 오퍼레이터와의 대화 등 |
입출력장치 인터럽트 | 하드웨어 | 입출력이 완료되었거나 에러가 발생했을 때, 기기가 대기 상태에 있을 때 |
외부 인터럽트 | 외부 시스템 | 인터럽트 시간 만료, 사용자 콘솔 키입력, 다른 프로세스로부터의 신호 |
재시작 인터럽트 | 사용자, 프로세스 | 사용자가 콘솔에서 재시작 단추 입력, 다른 프로그램에서 재시작 명령 도착 |
프로그램 검사 인터럽트 | 프로세스 | 수행 중인 프로세스의 잘못된 명령에 의해 발생 |
기계 검사 인터럽트 | 시스템 | 기계 고장 시 발생 |
인터럽트 사이클
다중 인터럽트
- 인터럽트 불가능: 이후에 발생한 인터럽트를 중앙처리장치가 무시, 순차적으로 실행
- 우선순위 인터럽트: 우선순위를 부여하여 높은 순으로 처리