본문 바로가기
운영체제

[운영체제] 2. 컴퓨터 시스템과 운영체제 - (4) 커널과 인터럽트

by NoDapKeepGoing 2025. 4. 9.

<2025.3.13.목요일 수업>

 

 

📍1. 컴퓨터에서 인터럽트 활용

1-1. 인터럽트의 정의

✔️프로그램 수행 중 시스템에 예기치 않은 상황이 발생하였음을 CPU에게 알리는 신호

✔️하드웨어 인터럽트 ➡️ 비동기적 인터럽트

- 외부 장치들이 어떤 상황 발생을 CPU에게 알리는 하드웨어 신호
- 비동기적이란 예정되지 않거나 발생시간을 예측할 수 없는 사건
- CPU는 인터럽트를 수신하면 인터럽트 서비스 루틴 수행

✔️소프트웨어 인터럽트 ➡️ 동기적 인터럽트

- CPU가 수행하는 프로그램 내부에서 발생함
- 동기적이란 발생 시점이 프로그램의 일정한 지점이기 때문
- 트랩(trap)이라고 하며, 시스템 호출과 예외(exception)가 있음
- 하드웨어 인터럽트를 수신한 것과 동일하게 처리

 

1-2. 컴퓨터에서 인터럽트 활용

마우스를 움직이거나 클릭하는 등 마우스 조작,  키보드 입력, 네트워크로부터 데이터 도착, 하드디스크의 쓰기 종료, 시스템 클럭으로부터 일정한 시간 간격으로 알림, 컴퓨터의 리셋 버튼 누르기, USB 메모리 부착 혹은 해제 등

➡️ CPU에게 알림

 

 

📍2. 인터럽트 발생과 처리 과정

2-1. 인터럽트와 명령어 사이클

 

 

2-2. 인터럽트 처리 과정

✔️ PC: 다음에 실행할 명령어의 메모리 주소

 

 

2-3. 멀티 코어 컴퓨터에서 인터럽트 발생 및 처리 과정

✔️ 동기화: 해당 코어에만 인터럽트 신호가 전달되는 것. 즉, 다른 코어는 정상적으로 응용프로그램을 운영함

 

 

📍3. 인터럽트 서비스 루틴과 운영체제

3-1. 인터럽트 벡터 테이블

✔️ 커널 영역에 저장되어 있는 인터럽트 서비스 루틴들의 주소를 저장

 

3-2. 인터럽트 서비스 루틴(Interrupt Service Routine, ISR)

✔️ 인터럽트 핸들러(interrupt handler)
✔️ 입출력 장치에 의존적인 ISR은 장치 드라이버 내에 위치
✔️ 입출력 장치와 무관한 ISR은 커널 코드에 위치

☑️ 멀티프로그래밍 운영체제에서 인터럽트는 CPU 활용률과 시스템 처리율을 향상