간단한 IT 지식
[오늘의 지식] 라운드 로빈(Round Robin) 알고리즘
Sh_Blog
2024. 2. 21. 22:59
1. 라운드 로빈이란?
라운드 로빈 알고리즘은 시간 분할을 통해 여러 프로세스 간의 CPU를 공평하게 할당하는
선점 스케줄링 알고리즘이다.
라운드 로빈은 선점 스케줄링이기 때문에 다른 프로세스가 실행되는 동안 우선순위가 더 높은
프로세스가 도착하면 현재 실행 중인 프로세스가 선점되어 대기열에 다시 배치 될 수 있다.
2. 동작 과정
1. 최대 CPU 시간을 나타내는 고정 시간이 할당된 실행 준비된 모든 프로세스가 대기열에 배치
2. CPU 스케줄러가 대기열 앞의 프로세스를 실행
3. 실행을 완료했다면 대기열에서 제거, 그렇지 않다면 대기열 맨 뒤에 배치
3. 사용이유
1. 프로세스에 일정한 CPU 시간 할당량을 부여하기 때문에 공정한 실행을 보장해준다.
2. 프로세스가 CPU를 기다리는 시간을 최소화 하여 빠른 응답이 가능하기 때문에 실시간 시스템에 유리하다.
(다만 할당되는 시간이 클 경우 FIFO 기법과 같아진다.)
3. 라운드 로빈은 프로세스가 일정한 시간을 가지고 있기 때문에 프로세스 완료 시간을 예측할 수있다.