운영체제에서 사용되는 라운드 로빈(Round Robin, RR) 스케줄링의 원리를 정리한다.
라운드 로빈 작동 방식
CPU 시간을 ‘시간 할당량(Time Quantum)’ 단위로 분할하여 프로세스에 순차적으로 배분한다.
준비 큐: P1(10ms), P2(3ms), P3(3ms)
할당량: 4ms
[ 실행 흐름 ]
0 4 7 10 14 16
+------+------+------+------+------+
| P1 | P2 | P3 | P1 | P1 |
+------+------+------+------+------+
정해진 시간이 경과하면 자원을 회수하는 선점형(Preemptive) 방식이다.
이를 통해 모든 프로세스가 CPU를 사용할 기회를 얻는다.
스케줄링 특징
- 공정성 및 응답성: CPU 독점을 방지하여 기아 현상을 억제하고 응답 속도를 향상시킨다.
- 시간 할당량 설정:
- 과도하게 크면 FCFS와 유사해져 응답성이 저하된다.
- 과도하게 작으면 빈번한 문맥 교환(Context Switch)으로 오버헤드가 증가한다.
일반적으로 10~100ms의 할당량을 사용하여 효율성을 유지한다.
라운드 로빈은 자원 배분의 공정성과 시스템 효율을 동시에 고려한 전략인 것 같다.