
운영체제
CPU SchedulingCPU 스케줄링
CPU 스케줄링은 운영체제가 어떤 프로세스에 CPU를 할당할지 결정하는 정책이다. CPU 이용률을 극대화하고 응답 시간·대기 시간을 최소화하는 것이 목표다.
핵심 지표
| 지표 | 설명 |
|---|---|
| CPU 이용률 | CPU가 바쁜 시간 비율 |
| 처리량(Throughput) | 단위 시간당 완료된 프로세스 수 |
| 대기 시간 | 준비 큐에서 기다린 시간 |
| 반환 시간 | 프로세스 제출~완료까지 전체 시간 |
| 응답 시간 | 요청 후 첫 응답까지의 시간 |
주요 스케줄링 알고리즘
FCFS (First Come First Served)
SJF (Shortest Job First)
Round Robin (시분할)
Priority Scheduling
Multilevel Queue
여러 큐(시스템, 대화형, 배치 등)로 분리해 각각 다른 정책 적용
선점 vs 비선점
| 항목 | 선점 | 비선점 |
|---|---|---|
| CPU 회수 | 가능 (인터럽트) | 불가 |
| 응답성 | 높음 | 낮음 |
| 구현 복잡도 | 높음 | 낮음 |
관련 개념
참고문헌
- •Silberschatz et al. Operating System Concepts — Chapter 5
