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