더북(TheBook)

2| 라운드 로빈(Round-Robin) 알고리즘 실행 가능 상태에 있는 프로세스들을 순서대로 가져와 일정 시간 동안 CPU를 할당하는 방식입니다. 모든 프로세스에 같은 시간이 부여됩니다. 이때 프로세스에 부여된 일정 시간을 타임 슬라이스(time slice) 혹은 퀀텀(quantum)이라고 합니다. 라운드 로빈을 이용하면 모든 프로세스가 동시에 실행되는 것처럼 보입니다. 대표적인 선점형 스케줄링입니다. 라운드 로빈 스케줄링에서 가장 중요한 것은 타임 슬라이스를 얼마로 정하느냐입니다. 너무 짧으면 다음 절에서 배울 컨텍스트 스위칭이 너무 자주 일어나 시스템에 부담이 되고 너무 길면 멀티태스킹을 구현하는 데 문제가 발생합니다.

3| FCFS(First Come First Served) 실행 가능 상태에 먼저 들어온 프로세스를 먼저 실행하는 방법입니다. 비선점 스케줄링입니다.

4| SJF(Shortest Job First) 평균 대기 시간을 최소화하기 위해 CPU 할당 시간이 가장 짧은 프로세스를 먼저 실행합니다. 우선순위 알고리즘처럼 할당 시간이 긴 프로세스는 계속해서 실행이 되지 않는 기아 상태에 빠질 수 있습니다. 또한 CPU의 실제 할당 시간을 알 수 없으므로 예측에 의존해야 하는 단점도 있습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.