H-Log
[운영체제] 인터럽트 (interupt) 본문
반응형
CPU의 명령이 완료되었음을 확인하는데에는 2가지 방법이 있다
- 폴링 : 입출력을 요청하면 운영체제가 주기적으로 입출력 장치를 직접 확인한다
- 인터럽트 : 이벤트에 의해 동작한다. 입출력이 완료되면 이벤트를 발생하여 CPU에 알린다.
인터럽트 종류
동기적 인터럽트
- 프로그램상의 문제로 발생하는 인터럽트 (오버플로우나 언더플로우)
- 프로세스 중단을 위해 의도적으로 발생시킨 경우 (Ctrl+C)
- 주변장치 조작에 의한 인터럽트
- 산술 연산 중 발생하는 인터럽트 (0으로 나누기 등)
비동기적 인터럽트
- 하드디스크 읽기 오류, 메모리 불량과 같이 하드웨어적 오류
- 사용자가 사용하는 주변장치 오류
- 예상치 못한 오류
인터럽트 처리 과정
- 인터럽트 발생
- 프로세스 일시 정지 (문맥교환)
- 재시작을 위해 ISR에 현재 프로세스 관련 정보 저장
- 인터럽트 컨트롤러 실행
- 인터럽트 컨트롤러에서 인터럽트 처리 순서를 결정
- 먼저 처리할 인터럽트 결정
- 인터럽트 벡터(IVT : Interupt Vector Table)에 등록된 인터럽트 핸들러 실행
- 인터럽트 핸들러가 처리를 마침
- 프로세스가 재실행되거나 종료됨
*인터럽트 벡터 : 인터럽트 실행 시 제일 먼저 도착
반응형
'dev-log > cs' 카테고리의 다른 글
[운영체제] 임계구역 (0) | 2023.10.01 |
---|---|
[운영체제] 프로세스 간 통신 (0) | 2023.09.27 |
[운영체제] 스케줄링 알고리즘 (0) | 2023.09.27 |
[운영체제] CPU 스케줄링 (0) | 2023.09.27 |
[운영체제] 우선순위 (0) | 2023.09.27 |
Comments