운영체제
인터럽트
Younghun
2024. 1. 10. 11:10
1. 인터럽트란
- 시스템의 내부 또는 외부에서 발생하는 예기치 못한 사건에 의해, 프로세서가 실행 중인 프로그램의 작업을 중단시키고 다른 프로그램을 수행하도록 하는 명령어
- 입출력, 에러, 타임아웃 등에 발생
- 하드웨어 인터럽트와 소프트웨어 인터럽트로 분류
- 인터럽트 핸들러는 인터럽트를 실제로 처리하는 프로그램
- CPU 자원을 최대로 활용하기 위한 방안
2. 인터럽트 실행 과정
- 인터럽트 신호에 의하여 현재 실행 중인 명령어를 종료
- 레지스터의 모든 정보를 스택 영역(또는 프로세스 제어 블록/PCB)에 전송
- 프로그램 카운터에 인터럽트 처리 프로그램(인터럽트 핸들러/서비스 루틴)의 시작 위치를 저장
- 제어권이 인터럽트 처리 프로그램을 실행
- 4번이 완료되면 스택 영역(또는 PCB)에 위치한 내용을 다시 레지스터에 저장
- 프로그램 카운터에 중단된 프로그램의 시작 위치를 저장
- 중단된 프로그램을 재실행