DevGang
[OS-04] 인터럽트(Interrupt) 본문
1. 인터럽트 종류 및 발생 원인
- 전원 이상 인터럽트(Power Fail Interrupt) : 정전이 되거나 전원 이상이 있는 경우
- 기계 착오 인터럽트(Machine Check Interrupt) : CPU 등의 기계가 고장을 일으킨 경우
- SVC인터럽트(Supervisor Call Interrupt) : 입출력 수행, 기억장치 할당 등을 위해 발생
- 입/출력 인터럽트(Input-Output Interrupt) : 수행 도중 입/출력이 발생하는 경우
- 외부 신호 인터럽트 : 정해진 시간이 끝나거나 오퍼레이터의 키 조작 발생한 경우
- 재시작 인터럽트 : 오퍼레이터가 재시작 버튼을 눌러 시스템을 재 부팅시키는 경우
- 프로그램 검사 인터럽트(Program Check Interrupt)
- 0으로 나누기가 발생하는 경우
- Overflow/Underflow가 발생하는 경우
- 프로그램에서 명령어를 잘못 사용하는 경우
2. 인터럽트 발생 시 처리 순서
- 인터럽트 요청 신호가 발생
- 프로그램 실행을 중단
- 현재 프로그램 상태를 보존 (복귀 주소(return address)를 stack에 저장)
- 인터럽트 처리 루틴을 실행
- 인터럽트 서비스 루틴을 실행
- 상태 복구
- 중단된 프로그램 실행 재개
3. 인터럽트 우선순위
- 컴퓨터에 여러 형태의 인터럽트가 동시에 발생할 경우 우선순위에 따라 인터럽트를 수행
- 전원 이상 < 기계 착오 < 외부 신호 < 입/출력 < 프로그램 검사 < SVC (우선순위가 높음)
'정보처리 > OS' 카테고리의 다른 글
[OS-06] 병행 프로세스&임계구역 (0) | 2021.02.07 |
---|---|
[OS-05] 스레드&문맥 교환 (0) | 2021.02.07 |
[OS-03] 프로세스 (0) | 2021.02.07 |
[OS-02] 시스템 소프트웨어 (0) | 2021.02.07 |
[OS-01] 운영체제 개념 및 종류 (0) | 2021.02.07 |
Comments