Interrupt
- 현재 진행 중인 작업을 중단하고, 다른 작업에 CPU의 처리 권한을 넘기는 것을 인터럽트라고 한다.
인터럽트는 크게 내부 인터럽트와 외부 인터럽트로 나눌 수 있다.
-
internal Interrupt
- 내부 인터럽트는 실행 프로그램에서 무효한 명령을 처리하거나, 오류를 처리하기 위해 발생한다. 내부 인터럽트에는 다음과 같은 것이 있다.- program check : 오버플로우, 언더플로우나 Division by zero가 일어날 때 발생.
- Page Fault : 무효한 페이지를 참조할 때 발생.
- Trace : 디버그 시 프로그램을 한 명령씩 실행.
- Superviser Call : 시스템 콜을 실행. -
external Interrupt
- 외부 인터럽트는 주변 기기의 입출력 동작을 확인하고, 하드웨어 장애를 처리하기 위해 발생한다. 외부 인터럽트에는 다음과 같은 것이 있다.- power fail : 전원에 이상이 생길 경우 발생.
- hardware check : 주변 기기의 장애가 발생했을 경우 OS에게 알리기 위한 인터럽트 발생.
- Timer : 일정 시간마다 하드웨어에서 발생.
- I/O : 입출력 장치에서 동작을 처리하는 등 상태 변화가 일어났을 때 발생.
- console : 사용자가 키보드와 같은 입출력 장치를 조작할 때 발생. -
reference
"Os가 보이는 그림책"과 "Operating System Concept "을 참고 하였다.