# 인터럽트 과정
1) 프로세스 수행 중 특수 상황(=인터럽트) 이 발생
2) 작업 중단
- PC, 레지스터를 PCB (process control block) 에 저장
- CPU 제어를 인터럽트 서비스 루틴에 넘김
3) Context Switching
4) 특수 상황 먼저 처리 (인터럽트 루틴 실행)
5) 원래 상황으로 복구
# PCB 란
- 약어 : Process Control Block
- 위치 : 프로세스에 있는 자료구조
- 저장 정보 : 프로세스 상태, ID 프로세스에 관한 정보
> 선점형 방식 스케쥴링을 하거나, 멀티레벨 피드백 큐 스케쥴링 구현시,
현재까지 해당 프로세스가 얼만큼 진행됐는지를 저장하는 필드 (수행시간 필드) 를
저장해둘 수 있도록 추가돼야 한다
# 인터럽트 종류 - CPU 기준 구분
1> CPU 외부 인터럽트
- 입출력 인터럽트
- 전원 이상, 기계 착오, 외부 신호, 타이머 인터럽트
- 비동기 인터럽트
2> CPU 내부 인터럽트
- 잘못된 명령, 잘못된 데이터 사용시 발생
- 프로그램 검사 인터럽트
ex) 0 으로 나누기, exception, 오버플로우, 할당되지 않은 주소공간 액세스
- 동기 인터럽트
# 인터럽트 종류 - 하드웨어/소프트웨어 기준 구분
1> 하드웨어 인터럽트
- 종류 : CPU 외부 인터럽트
- 특징 : 비동기 인터럽트
3> 소프트웨어 인터럽트 (=트랩)
- 종류 : 예외 (exception), 시스템 콜 (system call)
1) 예외 : CPU 내부 인터럽트
2) 시스템 콜 : 프로그램 실행 또는 supervisor 호출시
(사용자가 의도적으로 일으킨 인터럽트)
- 소프트웨어 이용 중 다른 프로세스 실행시 발생
- 이때, 시분할 처리를 위해 자원 할당이 된다
- 특징 : 동기 인터럽트
'운영체제' 카테고리의 다른 글
커널별 인터럽트 처리 (0) | 2020.04.26 |
---|---|
커널 종류 (0) | 2020.04.26 |
DMA 와 메모리 (0) | 2020.04.26 |
선점형/비선점형 스케쥴링 방식 (0) | 2020.04.26 |