CS All in One
ARCHITECTURE문제집공식 자료실

ARCHITECTURE · CHAPTER 04

중급 · 45

입출력과 인터럽트

CPU가 기다리지 않게 만드는 장치

폴링·인터럽트·DMA의 차이와 비동기 입출력의 필요성을 설명한다.

CONCEPTS

개념을 문장으로 설명하기

01

폴링

CPU가 장치의 준비 상태를 반복적으로 확인하는 방식입니다.

예시

키보드 입력이 왔는지 계속 물어보는 단순한 방식입니다.

CHECK단순하지만 CPU 시간을 낭비할 수 있다.
02

인터럽트

장치가 처리할 일이 생겼을 때 CPU에 신호를 보내 현재 작업을 잠시 멈추게 하는 방식입니다.

예시

네트워크 패킷이 도착하면 CPU가 필요한 처리 루틴으로 이동합니다.

CHECK인터럽트 처리 후 원래 작업으로 돌아간다.
03

DMA

CPU가 데이터 하나하나를 옮기지 않고 장치와 메모리 사이의 블록 전송을 맡기는 방식입니다.

예시

디스크에서 큰 버퍼를 읽을 때 CPU 부담을 줄일 수 있습니다.

CHECKCPU는 전송 시작·완료 통지에 집중한다.

GUIDED PRACTICE

파일 다운로드 중에도 화면이 움직이는 이유

앱이 큰 파일을 내려받으면서 사용자의 클릭에도 반응해야 합니다.

  1. 동기 입출력으로 CPU가 완료를 기다리면 UI가 멈출 수 있습니다.
  2. 비동기 I/O나 별도 실행 흐름에 작업을 맡깁니다.
  3. 완료 이벤트·인터럽트가 오면 결과만 UI에 반영합니다.
결론

느린 입출력은 기다리는 동안 다른 작업을 할 수 있게 설계해야 응답성이 좋아집니다.

ACTIVE RECALL · 4 STEPS

가리고, 말하고, 확인하기

읽기만 하지 말고 답을 떠올린 뒤 펼쳐 보세요.

0/4 회상 완료

01 · 정의 회상

“폴링”을(를) 보지 않고 한 문장으로 정의해 보세요.

02 · 비교 설명

“인터럽트”이(가) 필요한 상황을 예시와 함께 설명해 보세요.

03 · 핵심 점검

CPU는 전송 시작·완료 통지에 집중한다.

04 · 풀이 재현

“파일 다운로드 중에도 화면이 움직이는 이유”의 결론을 보기 전에 풀이 순서를 3단계로 다시 적어 보세요.

WORKBOOK · STEP BY STEP

개념 확인 문제

정답을 고르고 해설로 사고 과정을 확인하세요.

기록 불러오는 중
01

장치가 CPU에 처리할 일이 생겼다고 알리는 방식은?

02

CPU가 장치 상태를 반복 확인하는 방식은?

03

대량 데이터 전송에서 CPU 개입을 줄이는 기술은?

SPEAK IT OUT

면접 1분 답변 연습

폴링·인터럽트·DMA를 비교하고, 사용자 화면이 멈추지 않게 하려면 어떤 설계가 필요한지 설명해 보세요.

답변할 때는 정의 → 이유 → 짧은 예시 순서로 말해 보세요.

공식·표준 자료로 더 읽기

Linux Kernel · DMA API원문 열기 ↗운영체제 수준에서 DMA가 다뤄지는 방식을 확인하는 문서입니다.