운영체제 공룡책의 1.2.1.1 Interrupots Overview 읽고 공부 조금 했다!
📖 책 주요 내용 정리
인터럽트와 고정된 위치
- CPU가 인터럽트 걸렸을 때, 그것은 하던 것을 멈추고 즉시 고정된 위치(fixed location)로 실행을 옮긴다.
- 고정된 위치에는 보통 인터럽트를 위한 서비스 루틴의 시작 주소가 있다.
- 인터럽트 서비스 루틴의 실행이 끝나면 CPU는 인터럽트 됐던 계산을 다시 재개한다.
인터럽트 루틴을 위한 포인터 테이블
- 빠른 속도로 인터럽트하기 위해 인터럽트 루틴의 포인터 테이블을 사용하기도 한다.
- 중간 루틴(intermediate routine)이 필요 없다.
- 이 포인터의 테이블은 하위 메모리(첫 100개 정도의 위치)에 저장된다.
- 이 위치에는 다양한 장치들의 인터럽트 서비스 루틴 주소들이 있다.
- 주소들의 배열 또는 interrupt vector는 인터럽트 요청과 함께 고유한 번호로 인덱싱 되어 있다. 이것은 인터럽트 건 장치에 대한 인터럽트 서비스 루틴의 주소를 제공한다.
- 윈도우나 유닉스가 이 방법을 사용한다.
인터럽트 때 상태 정보 저장
- 인터럽트 아키텍처는 인터럽트 걸렸을 당시의 상태 정보를 저장해야한다. 인터럽트 후에 이 정보를 다시 가져와야 한다.
- 인터럽트 걸렸던 작업은 마치 인터럽트가 일어나지 않은 것처럼 재개될 수 있어야 한다.
📖 참고
[OS] 컴퓨터 시스템의 구성: 인터럽트(Interrupts)