🌸 인터럽트
- CPU가 프로그램을 실행하고 있을 때,
예외상황이 발생하여 처리가 필요한 경우에 CPU에게 알려 처리할 수 있도록 하는 것이다.
- 인터럽트 처리 중 다른 인터럽트가 발생하면 우선순위에 의해 처리한다.
- CPU가 인터럽트 신호를 받으면 프로그램 카운터(PC)에 있는 복귀주소를 메모리 스택에 저장한다.
- 그리고 입출력 전송을 위한 인터럽트 서비스 루틴(ISR)으로 제어를 이동하는 방식으로 수행한다.
✔️ 종류
- PC 하드웨어 인터럽트: 프린터 용지가 부족할 때 발생한다.
- 클럭 인터럽트: 프로세스의 시간 할당량 종료와 관련있다.
✔️ 인터럽트가 발생할 상황
- 갑작스러운 정전, 보호된 기억 공간 접근, 프로그램 착오
- 불법적인 인스트럭션 수행, Operator의 의도적인 조작
- 하드웨어 상의 오류가 있을 때
- 입출력기기 오류 발생 (보조기억장치 입출력, 키보등 입력, 모니터 입출력 등)
- 사용자가 프로그램에서 SVC 명령을 호출, 콘솔 터미널에서 인터럽트 키를 누를 때