[OS] 인터럽트
인터럽트 인터럽트 란 사전적 의미로는 '끼어들다', '중단시키다' 정도의 의미를 가진 말로, 프로그램을 실행하는 도중에 예기치 않은 상황이 발생할 경우 현재 실행중인 작업을 중단하고 발생된 상황을 처리한 후 다시 실행중인 작업으로 복귀하는 것을 말한다. 인터럽트의 종류 인터럽트는 외부 인터럽트, 내부 인터럽트, 소프트웨어 인터럽트로 나뉠 수 있다. 외부 인터럽트 전원 이상 인터럽트(Power Fail Interrupt) : 정전, 파워 이상 등 기계 착오 인터럽트(Machine Check Interrupt) : CPU의 기능적인 오류 외부 신호 인터럽트(External Interrupt) 타이머에 대한 인터럽트 : Preemptive 개념(?)을 생각하면 쉽다. 키보드로 인터럽트 키를 누른 경우 : 대표 예시 → Ctrl + Alt + Del 외부장치로부터 인터럽트 요청이 있는 경우 : I/O 인터럽트와는 다른 개념이다. 입출력 인터럽트(I/O Interrupt) 입출력 장치가 1. [데이터 전송을 요구]하거나 2. [전송이 끝나] 다음 동작이 수행되어야 할 경우 입출력 데이터에 이상이 있는 경우 내부 인터럽트 잘못된 명령이나 잘못된 데이터를 사용할 때 발생하며, Trap이라 부른다. 프로그램 검사 인터럽트(Program Check Interrupt) Division By Zero Overflow / Underflow 기타 Exception 소프트웨어적인 내용이나 분류상 인터럽트가 아니다 (?) → 이건 무슨 이야기일까?
- KoaK