티스토리 뷰
인터럽트 = 하드웨어이벤트
CPU가 현재 실행 중인 작업(프로세스)을 중단하고, 긴급한 작업을 먼저 처리 한 후 원래 작업으로 복귀하도록하는 신호
필요한이유 :
CPU가 비효율적으로 대기하는 것을 방지하고, 멀티태스킹과 오류 처리를 가능하게 하며, 사용자 입력을 신속하게 처리할 수 있도록 도와줘서
인터럽트 매커니즘 (Interrupt Mechanism)
현재실행 중인 프로세스를 중단하고 인터럽트 핸들러(OS에서 인터럽트를 처리하는 코드)로 제어를 넘긴다.
인터럽트가 발생하면 인터럽트 핸들러 실행 후 원래 프로세스로 복귀한다.

타이머인터럽트 :
할당된 시간 조각(time slice)을 초과하면, 운영체제가 프로세스를 바꾼다.
인터럽트의 장점 : CPU가 I/O 장치의 상태를 지속적으로 폴링(polling)하지 않고도 하드웨어 이벤트에 신속하게 응답할 수 있도록 해준다
1. 신속한 서비스(Timely Service) : 중요한 이벤트를 빠르게 처리
2. 시스템 활용 (System Utilization) : 폴링 없이 CPU가 다른작업을 수행할 수 있다.
3. 독점방지 (Prevention of Monopolization) : 특정간격으로 발생하는 이벤트(시스템 타이머 인터럽트)를 통해 CPU가 한 프로세스에 의해 독점되지 않도록 한다.

1. PC와 PSW를 스택에 저장한다.
2. PSW에서 인터럽트 비활성화/ 인터럽트핸들러가 실행되는 동안 다른 인터럽트 실행 방지(중첩인터럽트 방지)
3. PC와 PSW값 복구

PIC(Programmable Interrupt Controller)
PIC는 여러 개의 인터럽트를 받아서 CPU에게 “이 인터럽트가 제일 급해요!” 라고 알려주는 장치

1. 장치에서 발생한 인터럽트를 IRQ번호로 변환 translate
2. 특정인터럽트를 무시하거나 일시적으로 차단 , (IRQ1)무시 mask (우선순위대로)
인터럽트와 예외(Interrupts and Exception)
인터럽트 : CPU외부에서 발생한다.
예외: CPU내부에서 발생한다.
인터럽트와 예외 모두 리눅스에서 같은 방식으로 작동한다.
예외가 발생하는 이유 : 1. 불법적인 명령어(CPU해석X), 2.허용되지않은 메모리 주소 3.숫자를 0으로 나누기

Program Flow of Control Without and With Interrupts
발생이유 : I/O디바이스가 CPU보다 현저히 느려서

(a) No Interrupts – 인터럽트 없음 : 이 방식은 비효율적 — CPU가 놀고 있음!
(b) With Interrupts – 인터럽트 + 짧은 I/O 대기 시간 - CPU는 기다리지 않고 다음 사용자 명령을 계속 실행. 병행성↑
(c) With Interrupts – 인터럽트 + 긴 I/O 대기 시간 - CPU 사용 효율이 제일 증가!
Multiple Interrupts
1. 순차적인 인터럽트 처리과정
인터럽트를 한 번에 하나씩만 처리하는 구조, 무시되거나 대기(pending) 상태로 남음
단점 : 우선순위를 무시해서 우선순위 기반 인터럽트(Priority Interrupt)가 생김
2. 중첩된 인터럽트 처리과정
낮은 우선순위 인터럽트를 처리 중일 때 더 높은 우선순위 인터럽트가 오면 그걸 먼저 처리하는 방식

Pros/Cons of Interrupt Mechanism

'학교복습용 > 오퍼레이팅시스템 OS' 카테고리의 다른 글
| 오퍼레이팅시스템 6주차 / Processor Scheduling(9단원) (0) | 2025.04.02 |
|---|---|
| 오퍼레이팅시스템 4주차 / Process Deseription and Control(1) (0) | 2025.03.27 |
| 오퍼레이팅시스템 2주차 -(2) / Computer System Overview (0) | 2025.03.23 |
| 오퍼레이팅시스템 3주차 / Operating System Overview (1) | 2025.03.21 |
| 오퍼레이팅시스템 1주차 / Computer System Overview (0) | 2025.03.06 |
