현재 문맥을 저장한다
CPU는 실행 중이던 register와 위치를 보존해야 handler 이후 원래 흐름으로 돌아갈 수 있다.
인터럽트는 현재 실행을 잠시 멈추고 커널 handler로 제어를 넘긴다. 장치 완료, timer tick, 예외 처리가 모두 실행 흐름을 다시 조정한다.
CPU는 실행 중이던 register와 위치를 보존해야 handler 이후 원래 흐름으로 돌아갈 수 있다.
interrupt controller와 vector table을 통해 어떤 장치나 예외가 들어왔는지 구분한다.
handler는 짧게 끝내고 무거운 처리는 bottom half, tasklet, worker 같은 경로로 미룰 수 있다.
device raises IRQ -> CPU saves context -> kernel handler runs -> scheduler may run -> return