다섯 살도 알 수 있게 · 시스템SW

CPU 스케줄링이 뭐예요?

CPU 스케줄링을, 리프트 하나를 놓고 들어오는 차의 순서를 정비반장이 정해주는 이야기로 풀어봤어요.

이 정비공장이 곧 컴퓨터 시스템이에요리프트(CPU)는 하나인데, 차(작업)는 계속 들어와요

이 정비공장이 곧 컴퓨터 시스템이에요.리프트(CPU)는 하나인데, 차(작업)는 계속 들어와요.

엔진 전체 분해 중… 3시간째요타이어 바람만 넣으면 되는데 계속 기다려요순서를 아무렇게나 정하면, 짧은 일도 긴 일 뒤에서 하염없이 기다려요

차 순서를 아무렇게나 정하면, 먼저 온 느린 차가 다른 차를 다 막아요.짧은 일도 긴 일 뒤에서 하염없이 기다려요.

작업 순서판1. #118 (타이어)2. #119 (오일)3. #120 (엔진)CPU 스케줄링 = 반장이 순서판에 규칙을 적어 차 순서를 정하는 것어떤 규칙을 쓰느냐에 따라 누가 먼저 리프트에 오르는지가 달라져요

CPU 스케줄링 = 반장이 순서판에 규칙을 적어 차 순서를 정하는 것이에요.어떤 규칙을 쓰느냐에 따라 누가 먼저 리프트에 오르는지가 달라져요.

FCFS온 순서 그대로, 제일 단순해요
SJF짧은 일부터 끝내요
Round Robin조금씩 돌아가며 나눠줘요
Priority급한 차가 새치기해요
규칙별 비교FCFS: 온 순서 그대로SJF: 짧은 일 먼저Round Robin: 조금씩 돌아가며Priority: 급한 차 먼저반장은 이 중 하나를 골라 순서판에 적어요Round Robin은 리프트를 짧게 돌아가며 주는 대신, 차를 바꿀 때마다 시간이 조금씩 들어요

FCFS는 단순하지만 긴 차가 뒤를 막고, SJF는 대기가 짧지만 긴 차가 밀려요.Round Robin 은 공평하지만 차를 바꿀 때마다 시간이 조금씩 들어요.

짧은 일을 먼저 하면 평균 대기는 짧아져요근데 긴 일은 계속 밀려요(기아)완벽한 순서 규칙은 없어요 — 공평함과 속도는 자주 부딪혀요

완벽한 순서 규칙은 없어요.공평함과 속도는 자주 부딪혀요.

한 줄로

CPU 스케줄링 = 하나뿐인 리프트(CPU)에 여러 차(작업)가 몰릴 때, 어떤 차를 먼저 올릴지 정하는 규칙.

운영체제는 프로세스에 CPU를 할당할 순서를 정하는데, FCFS(First-Come-First-Served)·SJF(Shortest Job First)·Round Robin(시분할)·Priority Scheduling 등이 대표적이에요. FCFS는 구현이 쉽지만 convoy effect(긴 작업이 뒤를 막음)가 생기고, SJF는 평균 대기시간은 최소화하지만 긴 작업이 starvation(기아) 될 수 있어요. Round Robin은 time quantum 단위로 공평하게 나누지만 context switch 비용이 들어요.

어른들은 이렇게 불러요

FCFS
FCFS
온 순서 그대로 태우는 규칙. 단순하지만 긴 차가 뒤를 막아요(convoy effect).
SJF
SJF
짧은 일을 먼저 끝내는 규칙. 평균 대기는 짧지만 긴 일은 기아 상태가 될 수 있어요.
Round Robin
Round Robin
조금씩 돌아가며 태우는 규칙. 공평하지만 차 바꿀 때마다 시간이 들어요(컨텍스트 스위치).
기아현상
Starvation
순서판에서 계속 밀려나는 차. 자세한 원리는 교착상태 페이지에서 같이 다뤄요. → 서로의 열쇠를 기다리며 멈춘 정비공장
동기화
Synchronization
리프트 열쇠를 나눠주는 규칙. 스케줄링이 '누가 먼저'라면, 이건 '동시에 건드리지 않기'예요. → 리프트 열쇠는 하나뿐
프로세스/스레드
Process/Thread
차 한 대 vs 같은 차를 같이 고치는 손들. 스케줄링의 실제 단위는 스레드인 경우가 많아요. → 같은 차, 여러 손
복잡도(Big-O)
Time Complexity
차가 늘어날 때 일이 얼마나 빨리 느는지 재는 자. 순서판을 매번 다시 정렬하는 비용도 이 자로 재요. → 차가 많아질 때 얼마나 느려질까
오케스트레이션
Orchestration
SRE 분야의 비슷한 '순서 정하기'. 더 높은 층위(서비스·컨테이너)에서도 비슷한 문제가 있어요. → SRE 분야의 오케스트레이션
다음 이야기
리프트 열쇠는 하나뿐 →
다른 용어도 그림책으로 보고 싶다면 요청하기 →