본문 바로가기
컴퓨터공학기초 개념/운영체제

10. 인터럽트란?

by devraphy 2021. 4. 6.

1. 개념

  • CPU가 프로그램을 실행하고 있을 때, 어떤 이벤트(하드웨어 또는 예외처리 등)가 발생하여 이를 운영체제(OS)에게 알리고 CPU에서 처리하는 기술

2. 인터럽트가 필요한 이유

a) 선점형 스케줄러

  • 선점형 스케줄러에서는 프로세스를 교체하기 위해서 현재 running 상태의 프로세스를 중단시킨다. 현재 실행중인 프로세스를 중지시키는 기능

 

b) I/O 장치와의 커뮤니케이션

  • 입력장치 또는 저장매체에서의 데이터 처리가 완료된 경우, wait(=block)상태에 있는 프로세스를 깨워 ready 상태로 전환될 수 있게끔 운영체제(OS)에게 알려주는 기능

 

c) 예외상황 처리

  • CPU가 프로그램을 실행하고 있을 때, 프로그램 상의 에러나, 하드웨어 상의 문제 등 예외상황이 발생하면 운영체제(OS)가 이를 처리하도록 알리는 기능 

3. 정리

 

 

- 위의 설명과 같이, 인터럽트는 다양한 이벤트 발생을 OS에게 전달하여 CPU에서 처리하도록 하는 기능을 의미한다. 

 

- 여러가지 기능을 하는 인터럽트는 프로세스의 상태 변화에 따라 다른 이름으로 불리기도 한다.

 

a) interrupt

  • 실행(Running) → 대기(Wait or Block)

 

b) time-out

  • 실행(Running) → 준비(Ready)

 

c) wake-up

  • 대기(Wait or Block) → 준비(Ready)

 

d) Kill

  • 예외발생 프로세스 종료를 의미 

댓글