이 포스팅은 공부를 위해서 "면접을 위한 CS 전공지식 노트 책" 을 참고했다.
컴퓨터 시스템에서 인터럽트와 DMA 컨트롤러는 CPU가 효율적으로 여러 작업을 처리하는데 중요한 역할을 한다.
💻 인터럽트란?
인터럽트는 CPU의 현재 작업을 "인터럽트 즉, 중단"하는 신호이다. 이 신호는 외부 장치나 소프트웨어에서 발생하고 CPU가 더 긴급한 작업을 처리할 수 있도록 도와준다.
예를들어!
CPU가 파일 다운로드를 처리하는 도중에 키보드 입력이 들어오면 키보드 입력을 우선처리하고 다시 다운로드 작업으로 돌아가는 방식인 것이다.
이렇게 인터럽트는 시스템이 여러 작업을 효율적으로 수행하도록 돕는 중요한 역할을 한다.
1️⃣ 인터럽트 과정
인터럽트가 발생하면 어떤 과정을 거칠지 살펴보자.
1. 인터럽트 발생 : 키보드를 누르거나 네트워크 패킷이 도착하는 등 외부 장치에 신호가 발생한다.
2. 작업 저장 : CPU는 현재 작업을 중단하고 나중에 이어할 수 있도록 작업 상태를 저장한다.
3. 인터럽트 핸들로 실행 : 인터럽트 핸들러 함수가 호출되어서 인터럽트 원인에 따라 필요한 작업을 처리한다.
4. 작업 복귀 : 인터럽트 처리가 끝나면 저장된 작업 상태를 복구하고 CPU는 다시 원래 작업을 이어서 처리한다.
2️⃣ 하드웨어 인터럽트와 소프트웨어 인터럽트
하드웨어 인터럽트 : 키보드, 마우스 등에서 발생하는 인터럽트다. 장치가 데이터를 보내거나 작업이 필요할 때 인터럽트를 발생시킨다.
소프트웨어 인터럽트 : 소프트웨어 내부에서 발생하는 트랩(trap) 이라고도 부르는 인터럽트이다. 프로그램이 시스템에 작업 요청을 할 때 발생한다.
📑 DMA 컨트롤러란?
CPU의 일을 부담하는 보조 일꾼이다. CPU의 개입 없이 메모리와 장치 간 데이터를 직접 전송하는 역할을 한다. 이렇게 CPU가 해야하는 일을 DMA 컨트롤러가 직접 메모리와 장치 사이에서 데이터를 전송해서 CPU의 부담을 줄여준다.
그럼 DMA 컨트롤러 덕분에 CPU는 더 중요한 작업을 수행할 수 있게 되는 것이다.
📚 정리
인터럽트와 DMA 컨트롤러의 역할 : 시스템이 여러 작업을 동시에 처리할 수 있도록 도와줌
인터럽트 : 급한 작업을 처리할 수 있게 해줌
DMA 컨트롤러 : CPU의 부하를 줄여서 전체 시스템의 성능을 향상시키는 일종의 CPU의 보조 일꾼 역할을 함
'📚 CS > 운영체제' 카테고리의 다른 글
| [OS] 가상 메모리 (1) | 2024.10.14 |
|---|---|
| [OS] 메모리 계층 (레지스터, 캐시, 주기억장치, 보조기억장치) (2) | 2024.10.01 |
| [OS] CPU에 대해서 (1) | 2024.08.12 |
| [OS] 시스템 콜 (System Call), Modebit 이란? (0) | 2024.08.12 |
| [OS] 운영체제란 ? - 종류, 역할, 구조 (0) | 2024.08.11 |