예상치 못한 외부에서 발생한 이벤트
- Unexpected, external events
- 실행중인 작업을 즉시 중단하고, 우선 처리가 필요하다고 cpu에 알림
인터럽트의 종류
- I/O, Clock, Console, Program check, Machine check, Inter-process, System call
인터럽트 처리 과정
1. 인터럽트 발생 -(커널 개입)-> 2. 프로세스 중단(흐름 저장,context saving) -> 3. 인터럽트 처리 -> 4. 인터럽트 발생 장소, 원인 파악 -> 5.인터럽트 서비스 할 것인지 결정 -> 6.인터럽트 서비스 루틴 호출(context 복구)
Context Switching
- Context
- 프로세스와 관련된 정보들의 집합
- CPU register context => in CPU
- Code & data, Stack, PCB => in memory
- Context Saving
- 현재 프로세스의 Register context를 저장하는 작업
- Context restoring
- Register context를 프로세스로 복구하는 작업.
- Context switching ~= Process switching
- 위 두작업의 묶음
- 실행중인 프로세스의 context를 저장하고, 앞으로 실행할 프로세스의 context를 복구 하는 일 (커널의 개입으로 이루어짐)
Context Switch Overhead
- context switching에 소요되는 비용
- os마다 다름, 성능의 큰 영향을 줌
- thread 등을 사용하여 불필요한 switching을 줄여야 함
https://youtu.be/EdTtGv9w2sA [Course] Operating System (CPA310) - 운영체제 강의. HPC Lab. KOREATECH