RR 스케줄링 알고리즘의 계산
예) 프로세스별 도착시간과 필요한 CPU 사이클이 아래 표와 같고 RR 스케줄링 알고리즘을 이용할 경우
도착시간 | 0 | 1 | 3 | 4 | 7 |
프로세스 | A | B | C | D | E |
CPU 사이클 | 7 | 2 | 4 | 1 | 2 |
시간할당량이 2인 경우와 10인 경우 각각에 대해 프로세스가 실행되는 순서와 시간
[2인 경우]
RR 스케쥴링 : A(0)-B(2)-A(4)-C(6)-D(8)-A(9)-E(11)-C(13)-A(15)
* 평균 대기시간 : (9+1+8+4+4)/5 = 5.2
A가 두 번째 시작한 시간인 2에서 첫 번째 A가 끝난 시간인 2를 빼면 2이다.
A가 세 번째 시작한 시간인 9에서 두 번째 끝난 시간인 6을 빼면 3이다. 세 번째 A는 4 기다려서 실행되었다.
따라서 A의 대기시간은 2+3+4=9이 된다.
B는 1에 도착했는데 2에 실행돼서 대기시간 1. C는 3에 도착했는데 6에 실행돼서 대기시간 3, 8에 첫 번째 큐가 끝나고 다음 실행인 13까지 5의 대기시간이 발생하여 총 3+5=8이 된다.
D는 4에 도착했는데 8에 실행돼서 대기시간=4
E는 7에 도착했으며 11 실행되었기 때문에 대기시간은 4로 계산된다.
* 평균 반환시간 : (16+3+12+5+6)/5 = 8.4
A는 0에 도착했는데 16에 끝나서 반환시간=16
B는 1에 도착했는데 4에 끝나서 반환시간=3
C는 3에 도착했는데 15에 끝나서 반환시간=12
D는 4에 도착했는데 9에 끝나서 반환시간=5
E는 7에 도착했는데 13에 끝나서 반환시간=6
프로세스 | A | B | C | D | E |
대기시간 | 9 | 1 | 8 | 4 | 4 |
반환시간 | 16 | 3 | 12 | 5 | 6 |
[10인 경우]
RR 스케쥴링 : A(0)-B(7)-C(9)-D(13)-E(14)
* 평균 대기시간 : (0+6+6+9+7)/5 = 5.6
A는 바로 실행되어서 대기시간=0이 된다.
B는 1에 들어와 7에 실행되었기 때문에 대기시간=6
C는 3에 들어와 9에 실행되어서 대기시간=6
D는 4에 들어와 13에 실행되었기 때문에 대기시간=9
E는 7에 들어와 14에 실행되어서 대기시간=7
* 평균 반환시간 : (7+8+10+10+9)/5 = 8.8
A는 0에 도착했는데 7에 끝나서 반환시간=7
B는 1에 도착했는데 9에 끝나서 반환시간=8
C는 3에 도착했는데 13에 끝나서 반환시간=10
D는 4에 도착했는데 14에 끝나서 반환시간=10
E는 7에 도착했는데 16에 끝나서 반환시간=9
프로세스 | A | B | C | D | E |
대기시간 | 0 | 6 | 6 | 9 | 7 |
반환시간 | 7 | 8 | 10 | 10 | 9 |
'Computer Science > 운영체제' 카테고리의 다른 글
[운영체제] FCFS 스케줄링 알고리즘 vs RR 스케줄링 알고리즘 (0) | 2022.03.08 |
---|---|
[운영체제] 운영체제란? (0) | 2022.03.08 |
댓글