🐕 라운드 로빈 스케줄링(Round Robin Scheduling, RR)
이벤트 루프에서도 사용된 스케줄링 방법론이라고 하는데
시분할 시스템을 위해 설계된 "선점형" 스케줄링의 하나로
(CPU 스케줄링 방식은 크게 선점형과 비선점형으로 나눌 수 있다.)
프로세스들 사이에 우선순위를 두는게 아니라 순서대로(시간 단위)로 CPU를 할당하는 알고리즘이라고한다.
그래서 위 그림을 보면 우선순위 방식이 아니라 순서대로 실행이 되어 계단같아보이기도 한다.
보통 시간 단위는 10ms ~100ms 정도로 지정된다고 하는데
시간 단위 동안 수행한 프로세스는 준비 큐의 끝으로 밀려나게 된다.
즉 태스크를 수행한 프로세스는 준비 큐의 맨 마지막으로 들어가서 다시 실행을 기다리게 된다는 것!
이러한 라운드로빈 스케줄링을 사용하면 문맥 전환의 오버헤드가 커진다는 문제가 있지만
응답시간이 짧아지는 장점이 있어서 실시간 시스템을 구현하는데 유리한 알고리즘이라고 한다.
반응형