인터럽트(Interrupt)
시스템 내부 또는 외부에서 발생하는 예기치 못한 사건에 의해, 프로세서(흔히CPU)가 실행 중인 프로그램의
작업을 잠시 중단시키고 다른 프로그램을 수행하도록 하는 명령어입니다.
주로 산술 연산오류, 프로세스 오류, I/O 디바이스 사용에 의해 발생됩니다.
인터럽트의 종류
1.하드웨어 인터럽트
컴퓨터의 외부 하드웨어 기기인 키보드나 마우스, 네트워크 카드에 의한 인터럽트를 의미합니다.
2.소프트웨어 인터럽트
프로세스 오류, 프로세스의 시작과 종료 등 CPU에 의해 실행되고 있는 프로그램에 의한 인터럽트를 의미합니다.
인터럽트의 역할
- 인터럽트는 현대의 운영체제가 하드웨어와의 상호작용을 향상시켜, CPU가 멀티 프로그래밍을 가능하게 하는 핵심 역할을 수행
- 인터럽트는 갑작스러운 컴퓨터의 전류 공급 중단이나 사용자의 입력, 입출력의 작업의 완료, 운영체제의 긴급 요청 등과 같은 비상 상황에 대처하기 위해 필요합니다.
인터럽트의 실행 과정과 문맥 교환
- 인터럽트 신호에 의해 현재 실행중인 명령을 종료
- 레지스터의 모든 정보를 스택 영역(또는 프로세스 제어 블록/PCB)에 전송
- 프로그램 카운터에 인터럽트 처리 프로그램(인터럽트 핸들러/서비스 루틴)의 시작 위치를 저장
- 제어권이 인터럽트 처리 프로그램을 실행
- 4번이 완료되면 스택 영역(또는 PCB)에 위치한 내용을 다시 레지스터에 저장
- 프로그램 카운터에 중단된 프로그램의 시작 위치를 저장
- 중단된 프로그램 재실행
* 문맥교환
이렇게 운영체제가 현재 프로세스를 스택이나 PCB에 저장하고 다른 프로세스를 레지스터에 저장하여
다른 프로그램이 CPU를 이용하도록 하는 것을 문맥교환(Context Switch)이라 합니다.
문맥교환은 인터럽트 말고도 시스템 호출 등에 의해서도 일어납니다.
출처 - https://andy-archive.tistory.com/51
인터럽트(Interrupt)와 실행 과정, 역할
프로세스에 대한 상태(Process State)를 공부하는데 인터럽트에 대해 더 자세히 알고 싶어서 이번 블로그를 작성했다. 인터럽트가 무엇인지 알아보고 이에 대한 종류와 실행 과정, 역할에 대해 알아
andy-archive.tistory.com
'IT지식 > Computer Science' 카테고리의 다른 글
프로세스의 메모리 할당 구조 및 역할 (0) | 2025.01.30 |
---|---|
메모리 계층 구조(Memory Hiearachy)란? (1) | 2025.01.26 |
컴퓨터 시스템의 구조(CPU, 메모리, 보조기억장치, 입출력 장치 등) (0) | 2025.01.26 |
운영체제(Operation System)의 정의와 구조 (1) | 2025.01.26 |
대규모 트래픽 발생 시 해결 방안 및 서버 과부하 방지 (1) | 2025.01.22 |