CS/ 운영체제

[운영체제] Round Robin Scheduling (라운드 로빈 스케줄링)

hojak99 2017. 9. 11. 09:26

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


보통 시간 단위는 10 ms~ 100 ms 정도인데 시간 단위 동안 수행한 프로세스는 준비 큐의 끝으로 밀려나게 된다. Context Switching의 오버헤드가 큰 반면, 응답시간이 짧아지는 장점이 있어 실시간 시스템에 유리하다.


[출처 : 위키백과 - https://ko.wikipedia.org/wiki/라운드_로빈_스케줄링]



우선 여기서 나오는 시분할 시스템이란 한 컴퓨터를 여러 명의 사용자가 동시에 사용하는 경우, 사용자들이 CPU의 자원을 나누어 쓰는 것을 말한다. 




그렇다면 선점형 스케줄링은 무엇일까? 그 반대로 비선점 스케줄링도 존재한다.


비선점 스케줄링
- 이미 할당된 자원을 다른 프로세스가 강탈 할 수 없음

- 응답 시간 예측이 편하고 일괄처리 방식에 적합

- 덜 중요한 작업이 자원할당 받으면 중요한 작업이 와도 먼저 처리 할 수 없음


선점 스케줄링

- 우선 순위가 높은 프로세스를 빠르게 처리할 수 있음

- 어떤 프로세스가 자원 사용 중일 때 우선 순위가 더 높은 프로세스가 올 경우 자원 강탈 함

- 오버헤드 큼


반응형