📘 운영체제 동작, Interrupt
운영체제의 동작 개요
인터럽트란? (Interrupt)
- 인터럽트 발생 시 운영체제가 제어권을 갖게 된다.
- 운영체제는 Interrupt vector에 저장되어 있는 ISR(Interrupt Service Routine) 시작 주소로 점프한다.
- Interrupt architecture는 점프하기 전에 현재 CPU가 실행 중이었던 프로그램의 상태를 저장하고 ISR처리 후 되돌아올 시작 주소를 저장한다.
- 운영체제는 인터럽트로 구동되는 것이라고 볼 수 있다.
cf) trap
운영체제의 인터럽트 처리 (Interrupt Handling)
- 운영체제는 현재 프로그램을 실행 중인 CPU의 상태를 저장해야 한다.
- 레지스터 및 프로그램 카운터 값 저장
- 어떠한 장치가 인터럽트를 걸었는지 조사해야 한다.
Polling (일일이 조사)
Vectored interrupt system
(인터럽트 유형에 따라 적절한 코드 실행): 어느 장치가 인터럽트를 걸었는지 쉽게 알 수 있다.
- 인터럽트 유형에 따라 적절한 처리를 하는 코드를 실행 (ISR)
- 인터럽트 처리 후, 원래 프로세스 실행 재개
인터럽트 타임라인 (Interrupt Timeline)
CPU는 사용자 프로그램 실행 상태와 I/O device 인터럽트를 처리하는 상태의 2가지 상태를 가진다.
- IO장치 전송이 끝나면 인터럽트 발생
- CPU는 상태를 저장하고 인터럽트 해당 장치를 확인
- 인터럽트 처리 후 원래 프로세서로 복귀한다.
📘 참고 문헌
Abraham Silberschatz - Operating System Concepts 10th
서브목차