인터럽트 (Interrupt)
1. 인터럽트의 기본 개념
- 인터럽트는 CPU가 현재 실행 중인 작업을 잠시 중단하고, 다른 작업(예: 하드웨어 신호, 소프트웨어 요청)을 처리할 수 있도록 하는 메커니즘입니다.
- 인터럽트가 발생하면, CPU는 현재 작업의 상태(레지스터와 프로그램 카운터 값)를 저장한 후 인터럽트 처리 루틴으로 제어를 넘깁니다.
2. 인터럽트의 종류
- Interrupt (하드웨어 인터럽트): 외부 하드웨어(예: 키보드, 마우스)에서 발생하는 인터럽트입니다.
- Trap (소프트웨어 인터럽트): 소프트웨어에 의해 의도적으로 발생하는 인터럽트입니다.
- System call: 사용자 프로그램이 운영체제의 서비스를 요청할 때 발생하는 인터럽트입니다.
- Exception: 프로그램 실행 중 발생하는 오류(예: 나눗셈 오류, 메모리 접근 오류)에 의한 인터럽트입니다.
3. 인터럽트 관련 용어
- 인터럽트 벡터 (Interrupt Vector)
- 다양한 인터럽트의 처리 루틴 주소를 저장하는 공간입니다.
- 인터럽트 처리 루틴 (Interrupt Service Routine, ISR)
- 특정 인터럽트를 처리하는 운영체제 내의 함수입니다. 인터럽트 종류에 따라 적절한 처리가 수행됩니다.
4. 인터럽트의 처리 과정
- 인터럽트가 발생하면, CPU는 인터럽트 벡터를 참조하여 해당 인터럽트 처리 루틴의 주소를 찾습니다.
- 찾은 주소로 제어가 이동하고, 인터럽트 처리 루틴에서 필요한 작업이 수행됩니다.
- 처리가 완료되면, 저장된 레지스터와 프로그램 카운터의 값으로 복귀하여 원래의 작업을 계속 수행합니다.
'Computer Science > 운영체제' 카테고리의 다른 글
메모리 구조 (0) | 2023.05.10 |
---|