본문 바로가기
Computer Science/운영체제

[운영체제] RR 스케줄링 알고리즘의 계산

by AI_Wooah 2022. 3. 8.

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

 

반응형

댓글