CS/OS

라운드 로빈 스케줄링(Round Robin Scheduling, RR)

냠냠맨 2023. 4. 2. 14:10

🐕 라운드 로빈 스케줄링(Round Robin Scheduling, RR)

출처 : https://ko.wikipedia.org/wiki/%EB%9D%BC%EC%9A%B4%EB%93%9C_%EB%A1%9C%EB%B9%88_%EC%8A%A4%EC%BC%80%EC%A4%84%EB%A7%81

이벤트 루프에서도 사용된 스케줄링 방법론이라고 하는데

시분할 시스템을 위해 설계된 "선점형" 스케줄링의 하나로

(CPU 스케줄링 방식은 크게 선점형과 비선점형으로 나눌 수 있다.)

프로세스들 사이에 우선순위를 두는게 아니라 순서대로(시간 단위)로 CPU를 할당하는 알고리즘이라고한다.

 

그래서 위 그림을 보면 우선순위 방식이 아니라 순서대로 실행이 되어 계단같아보이기도 한다.

보통 시간 단위는 10ms ~100ms 정도로 지정된다고 하는데

시간 단위 동안 수행한 프로세스는 준비 큐의 끝으로 밀려나게 된다.

즉 태스크를 수행한 프로세스는 준비 큐의 맨 마지막으로 들어가서 다시 실행을 기다리게 된다는 것!

 

이러한 라운드로빈 스케줄링을 사용하면 문맥 전환의 오버헤드가 커진다는 문제가 있지만

응답시간이 짧아지는 장점이 있어서 실시간 시스템을 구현하는데 유리한 알고리즘이라고 한다.

 


이해했다고 생각할 때가 가장 무서울 때다.

 

반응형