운영체제정보처리산업기사 · 2011년06월12일 · 80/100
80.SJF(Shortest Job First) 스케줄링에서 작업 도착시간과 CPU 사용시간은 다음 표와 같다. 모든 작업들의 평균 대기시간은 얼마인가?(문제 오류로 실제 시험장에서는 모두 정답 처리 되었습니다. 여기서는 1번을 정답 처리 합니다.)

1
12정답
2
15
3
20
4
25
해설
80번은 가답안은 ‘가’로 발표되었지만 최종 확정답안은 ‘모두 답안’으로 인정된 문제입니다. SJF스케줄링은 대기 중인 작업 중 작업시간이 가장 짧은 작업을 먼저 처리하는 스케줄링 기법으로 문제에는 제시되지 않았지만 ‘작업1’ 이전의 작업은 없는 것으로 가정하고 문제를 풀면 아래와 같습니다. 작업1 대기시간 : 0 (작업1 이전의 작업은 없었다고 가정) 작업2 대기시간 : 23+10-6=27 작업1의 처리가 완료되었을 때 작업1과 작업2가 모두 대기 중이고 이중 작업시간이 짧은 것은 작업3이므로 작업3이 먼저 처리됩니다. 곧, 작업2의 대기시간은 (작업1처리시간+작업3처리시간-작업2도착시간)에 의해 27이 됩니다. 작업3 대기시간 : 23-8=15 (작업1처리시간-작업2도착시간) 평균대기시간 = (0+27+15) / 3 = 14