인터럽트와 I/O

장치와 예외는 인터럽트로 실행 흐름을 잠시 바꾼다. CPU는 현재 문맥을 보존하고 원인별 handler를 실행한 뒤 중단 지점으로 돌아간다.

완료 신호와 실제 데이터 이동을 구분하면 polling, interrupt, DMA의 역할이 선명해진다.

1

이벤트 발생

장치 완료, timer, system call, fault가 CPU에 처리 원인을 알린다.

device · timer · exception
2

커널 진입

PC와 상태를 저장하고 vector가 가리키는 handler로 제어를 옮긴다.

save → vector → handler
3

완료와 복귀

원인을 승인하고 대기 task를 깨운 뒤 저장한 문맥으로 복귀한다.

ack → wake → return