RR
각 프로세스에 동일한 시간 할당량(Time Quantum)을 부여하고, 시간이 만료되면 다음 프로세스로 CPU를 넘기는 선점형 스케줄링 알고리즘입니다.
동작 방식
Time Quantum = 2ms 라고 가정
준비 큐: P1(6ms) → P2(4ms) → P3(2ms)
P1[2ms] → P2[2ms] → P3[2ms] → P1[2ms] → P2[2ms] → P1[2ms]
완료X 완료X 완료O 완료X 완료O 완료O
Time Quantum의 영향
| Time Quantum | 결과 |
| 너무 크면 | FCFS와 동일해짐 |
| 너무 작으면 | 문맥 교환 비용 증가 |
| 적절한 값 | CPU 연산 시간의 80%가 Time Quantum 이내 |
일반적으로 10ms ~ 100ms 사이로 설정
장단점
| 장점 | 단점 |
| 공평한 CPU 배분 | 문맥 교환 비용 발생 |
| 응답성 좋음 | Time Quantum 설정이 중요 |
| 기아(Starvation) 없음 | 순수 처리량은 SJF보다 낮음 |
Time Quantum 만료 시
→ 현재 프로세스 상태 저장 (PCB에 저장)
→ 다음 프로세스 상태 복원
→ CPU 전환
문맥 교환 자체는 오버헤드 → Time Quantum이 작을수록 비용 증가
다른 알고리즘과 비교
| FCFS | SJF | Round Robin |
| 선점 여부 | X | X | O |
| 기아 발생 | X | O | X |
| 응답성 | 낮음 | 낮음 | 높음 |
| 처리량 | 보통 | 최적 | 보통 |
| 공평성 | X | X | O |
Round Robin은 시분할 시스템에 적합하며, 현대 OS에서 우선순위와 결합하여 가장 널리 사용되는 스케줄링 방식입니다.