logo

RR 스케줄링 예

다음 예에는 P1, P2, P3, P4, P5 및 P6이라는 6개의 프로세스가 있습니다. 도착 시간과 버스트 시간은 아래 표에 나와 있습니다. 시스템의 시간 양자는 4 단위입니다.

np 0
프로세스 ID 도착 시간 버스트 시간
1 0 5
2 1 6
2
4 1
5 4 5
6 6 4

알고리즘에 따라 준비 큐와 간트 차트를 유지해야 합니다. 두 데이터 구조의 구조는 모든 예약 후에 변경됩니다.

준비 대기열:

처음에는 시간 0에 프로세스 P1이 도착하여 시간 조각 4 단위에 대해 예약됩니다. 따라서 준비 대기열에는 CPU 버스트 시간 5 단위로 시작할 때 하나의 프로세스 P1만 있게 됩니다.

P1
5

간트 차트

P1은 먼저 4개 유닛에 대해 실행됩니다.

OS RR 스케줄링 예 GANTT 차트

준비 대기열

그 동안 P1의 실행과 함께 4개의 추가 프로세스 P2, P3, P4 및 P5가 준비 대기열에 도착합니다. P1은 아직 완료되지 않았습니다. 1단위의 시간이 더 필요하므로 준비 대기열에 다시 추가됩니다.

P2 P3 P4 P5 P1
6 1 5 1

간트 차트

P1 후에 P2는 간트 차트에 표시된 4시간 단위 동안 실행됩니다.

OS RR 스케줄링 예 GANTT 차트 1

준비 대기열

P2가 실행되는 동안 하나 이상의 프로세스 P6이 준비 대기열에 도착합니다. P2가 아직 완료되지 않았으므로 P2도 남은 버스트 시간 2단위로 준비 대기열에 다시 추가됩니다.

P3 P4 P5 P1 P6 P2
1 5 1 4 2

간트 차트

P1과 P2 후에 P3은 CPU 버스트 시간이 3초에 불과하므로 3단위의 시간 동안 실행됩니다.

OS RR 스케줄링 예 GANTT 차트 2

준비 대기열

P3이 완료되었으므로 종료되고 준비 대기열에 추가되지 않습니다. 다음 프로세스가 실행될 것은 P4입니다.

P4 P5 P1 P6 P2
1 5 1 4 2

간트 차트

그 후에 P1, P2 및 P3, P4가 실행됩니다. 버스트 시간은 시간 할당량보다 작은 1단위이므로 완료됩니다.

OS RR 스케줄링 예 GANTT 차트 3

준비 대기열

준비 큐의 다음 프로세스는 버스트 시간이 5단위인 P5입니다. P4가 완료되었으므로 대기열에 다시 추가되지 않습니다.

파이썬 새 줄
P5 P1 P6 P2
5 1 4 2

간트 차트

P5는 타임 슬라이스보다 높은 5단위의 버스트 시간이 필요하기 때문에 전체 타임 슬라이스에 대해 실행됩니다.

OS RR 스케줄링 예 GANTT 차트 4

준비 대기열

P5는 아직 완료되지 않았습니다. 남은 버스트 시간 1개로 대기열에 다시 추가됩니다.

P1 P6 P2 P5
1 4 2 1

간트 차트

프로세스 P1에는 실행을 완료하기 위해 다음 차례가 주어집니다. 버스트 시간은 1단위만 필요하므로 완료됩니다.

OS RR 스케줄링 예 GANTT 차트 5

준비 대기열

P1은 완료되었으며 준비 대기열에 다시 추가되지 않습니다. 다음 프로세스 P6에는 4단위의 버스트 시간만 필요하며 다음에 실행됩니다.

P6 P2 P5
4 2 1

간트 차트

P6은 완료될 때까지 4단위의 시간 동안 실행됩니다.

OS RR 스케줄링 예 GANTT 차트 6

준비 대기열

P6이 완료되었으므로 대기열에 다시 추가되지 않습니다. 준비 대기열에는 두 개의 프로세스만 있습니다. 다음 프로세스 P2에는 2단위의 시간만 필요합니다.

P2 P5
2 1

간트 차트

P2는 2단위의 시간만 필요하므로 다시 실행되어 완료됩니다.

OS RR 스케줄링 예 GANTT 차트 7

준비 대기열

이제 대기열에서 사용 가능한 유일한 프로세스는 1 단위의 버스트 시간이 필요한 P5입니다. 타임 슬라이스는 4개 단위이므로 다음 버스트에서 완료됩니다.

P5
1

간트 차트

P5는 완료될 때까지 실행됩니다.

왼쪽 조인 vs 오른쪽 조인
OS RR 스케줄링 예 GANTT 차트 8

완료 시간, 소요 시간, 대기 시간은 아래 표와 같이 계산됩니다.

우리가 알고 있듯이,

 Turn Around Time = Completion Time - Arrival Time Waiting Time = Turn Around Time - Burst Time 

프로세스 ID 도착 시간 버스트 시간 완료 시간 처리 시간 대기 시간
1 0 5 17 17 12
2 1 6 23 22 16
2 열하나 9 6
4 1 12 9 8
5 4 5 24 이십 열 다섯
6 6 4 이십 일 열 다섯 열하나

평균 대기 시간 = (12+16+6+8+15+11)/6 = 76/6대