문제
라운드로빈(RR) 스케줄링을 이용해 평균 대기시간을 구하시오.
<조건>
- 시간 할당량: 4ms
- 컨텍스트 스위칭 시간은 무시한다.
| 프로세스 | 도착 시간(ms) | 실행 시간(ms) |
|---|---|---|
| P1 | 0 | 8 |
| P2 | 1 | 4 |
| P3 | 2 | 9 |
| P4 | 3 | 5 |
① 10.75ms ② 11.75ms ③ 12.75ms ④ 13.75ms
정답
2번
해설
정답: 2. 실행 순서는 P1(04), P2(48), P3(812), P4(1216), P1(1620), P3(2024), P4(2425), P3(2526)이다. 완료 시각은 P1=20, P2=8, P3=26, P4=25이고 대기시간은 완료시간 - 도착시간 - 실행시간으로 각각 12, 3, 15, 17이다. 평균 대기시간은 (12+3+15+17)/4 = 11.75ms이다.
오답 풀이
- 1번: 일부 프로세스의 재대기 시간을 누락한 값에 가깝다.
- 2번: 각 프로세스의 대기시간 평균을 올바르게 계산한 값이다.
- 3번: 특정 완료 시간을 과대 계산한 값이다.
- 4번: 실행 시간과 대기 시간을 중복 계산한 값이다.
보충 개념 대기시간은 완료시간 - 도착시간 - 실행시간으로 계산할 수 있다. 라운드로빈은 시간 할당량이 끝나면 준비 큐의 뒤로 이동한다.