운영체제(OS)/keyword

(Project2-User Programs) 인터럽트(Interrupt)

스탠딩 2023. 12. 16. 15:26

인터럽트는 컴퓨터의 정상적인 프로그램 실행을 방해하고, 특정 사건이 발생했을 때 우선적으로 처리되도록 하는 메커니즘이다. 이러한 사건은 주로 하드웨어나 외부 디바이스에서 발생하며, 예를 들어 키보드나 마우스를 통한 사용자의 입력, 타이머의 만료, 입출력 장치의 데이터 도착 등이 있다.

출처 : https://www.it.uu.se/education/course/homepage/os/vt18/module-1/exception-and-interrupt-handling/

 

1. 인터럽트의 종류

  • 하드웨어 인터럽트: 주로 하드웨어 장치에서 발생하며, 외부에서 발생한 이벤트에 의해 트리거된다.
  • 소프트웨어 인터럽트: 소프트웨어에서 명령을 수행하다가 일부 예외 상황이나 특정 조건에 도달했을 때 발생한다.

2. 인터럽트의 동작 과정

  1. 인터럽트 발생: 외부 이벤트가 발생하면, 해당 인터럽트에 대한 신호가 발생한다다.
  2. 현재 수행 중인 작업 중단: CPU는 현재 실행 중인 명령을 일시 중단하고, 중단된 지점을 기록한다.
  3. 인터럽트 서비스 루틴 실행: 중단된 작업 대신 인터럽트 서비스 루틴(ISR)이라 불리는 특별한 코드 블록이 실행된다.
  4. 인터럽트 처리 완료: ISR이 실행을 마치면, CPU는 중단된 작업을 이어서 수행한다.