IT지식/Computer Science

운영체제에서 인터럽트(Interrupt)란?

맨땅에헤딩개발자 2025. 1. 26. 15:27

인터럽트(Interrupt)

 

시스템 내부 또는 외부에서 발생하는 예기치 못한 사건에 의해, 프로세서(흔히CPU)가 실행 중인 프로그램의

작업을 잠시 중단시키고 다른 프로그램을 수행하도록 하는 명령어입니다.

주로 산술 연산오류, 프로세스 오류, I/O 디바이스 사용에 의해 발생됩니다.

 

 

인터럽트의 종류

 

1.하드웨어 인터럽트

컴퓨터의 외부 하드웨어 기기인 키보드나 마우스, 네트워크 카드에 의한 인터럽트를 의미합니다.

 

2.소프트웨어 인터럽트

프로세스 오류, 프로세스의 시작과 종료 등 CPU에 의해 실행되고 있는 프로그램에 의한 인터럽트를 의미합니다.

 

 

인터럽트의 역할

 

- 인터럽트는 현대의 운영체제가 하드웨어와의 상호작용을 향상시켜, CPU가 멀티 프로그래밍을 가능하게 하는 핵심 역할을 수행

 

- 인터럽트는 갑작스러운 컴퓨터의 전류 공급 중단이나 사용자의 입력, 입출력의 작업의 완료, 운영체제의 긴급 요청 등과 같은 비상    상황에 대처하기 위해 필요합니다.

 

 

인터럽트의 실행 과정과 문맥 교환

  1. 인터럽트 신호에 의해 현재 실행중인 명령을 종료
  2. 레지스터의 모든 정보를 스택 영역(또는 프로세스 제어 블록/PCB)에 전송
  3. 프로그램 카운터에 인터럽트 처리 프로그램(인터럽트 핸들러/서비스 루틴)의 시작 위치를 저장
  4. 제어권이 인터럽트 처리 프로그램을 실행
  5. 4번이 완료되면 스택 영역(또는 PCB)에 위치한 내용을 다시 레지스터에 저장
  6. 프로그램 카운터에 중단된 프로그램의 시작 위치를 저장
  7. 중단된 프로그램 재실행

 

* 문맥교환

이렇게 운영체제가 현재 프로세스를 스택이나 PCB에 저장하고 다른 프로세스를 레지스터에 저장하여

다른 프로그램이 CPU를 이용하도록 하는 것을 문맥교환(Context Switch)이라 합니다.

문맥교환은 인터럽트 말고도 시스템 호출 등에 의해서도 일어납니다.

 

 

 

출처 - https://andy-archive.tistory.com/51

 

인터럽트(Interrupt)와 실행 과정, 역할

프로세스에 대한 상태(Process State)를 공부하는데 인터럽트에 대해 더 자세히 알고 싶어서 이번 블로그를 작성했다. 인터럽트가 무엇인지 알아보고 이에 대한 종류와 실행 과정, 역할에 대해 알아

andy-archive.tistory.com