728x90
반응형
인터럽트 (Interrupt)
프로세스 실행 도중 예기치 않은 상황이 발생할 때 발생한 상황을 처리한 후 실행 중인 작업으로 복귀하는 것
- H/W 장치는 시스템 버스를 통해 CPU에 인터럽트를 발생시킴
- 이러한 방식을 사용하는 컴퓨터 → 인터럽트 구동식 컴퓨터
- 인터럽트(Interrupt)는 적절한 인터럽트 서비스 루틴(Interrupt Service Routine)이 있는 시작 주소로 제어를 전달
인터럽트의 종류
- 하드웨어 인터럽트(Hardware Interrupt)
- 일반적인 인터럽트
- ex) 마우스 클릭 이벤트를 알리기 위한 인터럽트 (Mouse)
- 소프트웨어 인터럽트(Software Interrupt), 트랩(Trap) or 예외(Exception)
- 오류(0으로 나누기 or 유효하지 않은 메모리 접근)
- 사용자 프로그램의 운영체제 서비스 요청 (시스템 콜, System Call)
인터럽트 서비스 루틴(ISR: Interrupt Service Routine)
or 인터럽트 핸들러(Interrupt Handler)
인터럽트를 처리하는 커널 함수
- 인터럽트가 발생하면, 인터럽트 벡터를 통해 적절한 ISR이 있는 시작 주소로 제어가 전달됨
인터럽트 벡터 (Interrupt Vector)
인터럽트 벡터(Interrupt Vector): 인터럽트 서비스 루틴(ISR)의 주소들을 모아둔 곳
- 인터럽트가 요청되면, 인터럽트를 유발한 장치를 위한 ISR의 주소를 제공하기 위해서 사용됨
- 인터럽트 서비스 루틴(ISR)에 대한 주소배열을 가짐
- 인터럽트 요청과 함께 주어진 고유의 장치 번호로 색인됨
인터럽트 과정
- 주 프로그램 실행
- 인터럽트 발생
- 현재 수행 중인 프로그램 중단 및 저장
- 인터럽트 원인을 찾음
- 폴링(Polling) 방식: 해당 장치들을 돌아다니면서 물어봄
- 인터럽트 벡터(Vectored Interrupt) 방식: ISR에 대한 주소 배열
- 적절한 인터럽트 서비스 루틴(ISR)을 수행
- ISR 수행을 통해 인터럽트에 대한 조치를 취함
- 중단한 프로그램의 상태 복구, 중단된 곳부터 다시 실행
인터럽트 타임라인
입출력 인터럽트 과정
728x90
반응형
'Computer Science > Operating System' 카테고리의 다른 글
[OS] 운영체제에서 가장 중요한 '다중프로그래밍 (Multi-programming)' (0) | 2024.04.22 |
---|---|
[OS] 단일처리기 시스템과 다중처리기 시스템, 클러스터형 시스템 (0) | 2024.04.22 |
[OS] 입/출력 구조 (I/O Structure) (0) | 2024.04.21 |
[OS] 저장장치 구조 (Storage Structure) (0) | 2024.04.21 |
[OS] 운영체제란? (0) | 2024.04.17 |