"라운드 로빈"의 두 판 사이의 차이

위키원
이동: 둘러보기, 검색
(종류)
(참고자료)
24번째 줄: 24번째 줄:
 
* 〈[http://egloos.zum.com/bluecosmos/v/6223071 가상 서버 스케줄링 알고리즘]〉, 《이글루스》
 
* 〈[http://egloos.zum.com/bluecosmos/v/6223071 가상 서버 스케줄링 알고리즘]〉, 《이글루스》
 
* sizin, 〈[https://sizin.tistory.com/77 알고리즘의 종류]〉, 《티스토리》, 2015-10-18
 
* sizin, 〈[https://sizin.tistory.com/77 알고리즘의 종류]〉, 《티스토리》, 2015-10-18
 +
* 코쾅이, 〈[https://blog.naver.com/hoyo1744/221604748487 (운영체제)스케줄링 알고리즘]〉, 《네이버 블로그》, 2019-08-04
  
 
==같이 보기==
 
==같이 보기==

2019년 10월 1일 (화) 15:32 판

라운드 로빈(RR;Round Robin) 또는 라운드 로빈 스케줄링(Round Robin Scheduling)은 시분할 시스템을 위해 설계된 선점형 스케줄링의 하나로서, 프로세스들 사이에 우선순위를 두지 않고, 순서대로 시간단위로 CPU를 할당하는 방식의 CPU 스케줄링 알고리즘이다.

개요

FCFS에서 짧은 프로세스가 피해보는 현상을 완화하는 가장 간단한 방법으로 시간을 측정하고 있다가 어떤 긴 프로세스가 일정 시간 이상을 넘어가는 순간 실행을 강제로 선점시키는 것이다. 이 방법은 긴 프로세스나 입출력 프로세스에 상당히 불리하게 작용한다.[1] 보통 시간 단위는 10ms~100ms 정도인데 시간 단위 동안 수행한 프로세스는 준비 큐의 끝으로 밀려나게 된다. Context Switching의 오버헤드가 큰 반면, 응답시간이 잛아지는 장점이 있어 실시간 시스템에 유리하다.[2]

특징

  • 시분할 방식의 시스템에서 효과적이다.
  • 할당 시간의 크기는 시스템의 효과적인 동작에 절대적인 영향을 미친다.
  • 할당 시간이 크면 FCFS 방식과 같다.
  • 할당 시간이 작으면 자주 문맥교환이 바생하므로 오버헤드가 커진다.

종류

가중치기반 라운드 로빈 스케줄링(WRR;Weighted Round-Robin Scheduling)

가중치기반 라운드 로빈 스케줄링은 실제 서버에 서로 다른 처리 용량을 지정할 수 있다. 각 서버에 가중치를 부여할 수 있으며, 여기서 지정한 정수값을 통해 처리 용량을 정한다. 기본 가중치는 1이다. 가중치가 있는 라운드 로빈 스케줄링을 사용하면 실제 서버에서 네트워크 접속을 셀 필요가 없고 동적 스케줄링 알고리즘보다 스케줄링의 과부하가 적으므로 더 많은 실제 서버를 운영할 수 있다. 그러나 요청에 대한 부하가 매우 많을 경우 실제 서버사이에 동적인 부하 불균형 상태가 생길수 있다.[3]

이기적인 라운드 로빈 스케줄링(SRR;Selfish Round-Robin Scheduling)

이기적인 라운드 로빈 스케줄링은 시간이 지남에 따라 프로세스의 우선순위를 높이는 에이징 기법을 사용한다. 즉, 기본적으로 라운드 로빈스케줄링을 따르지만 오래 기다리는 프로세스의 경우 에이징기법을 통해서 우선순위를 점차 높여준다.


각주

  1. sunday5214, 〈운영체제 정리7.단일처리기 스케줄링〉, 《티스토리》, 2018-12-04
  2. hojak99, 〈(운영체제)Round Robin Scheduling(라운드 로빈 스케줄링)〉, 《티스토리》, 2017-09-11
  3. 가상 서버 스케줄링 알고리즘〉, 《이글루스》

참고자료

같이 보기