운영체제정보처리산업기사 · 2015년08월16일 · 70/100
70.SJF(Shortest Job First) 스케줄링에서 작업 도착 시간과 CPU 사용시간은 다음 표와 같다. 모든 작업들의 평균 대기 시간은 얼마인가?

1
15정답
2
17
3
24
4
25
해설
기본적으로 SJF는 비선점(한번 실행된 프로세스가 끝날 때까지 쭉~~ CPU를 차지. 다른 프로세스가 서비스 중인 프로세서를 점유하지 못함.) 1번 작업 대기시간 0초. SJF에 의해 1번 작업이 끝나있는 23초에 도착해있는 2번 작업과 3번 작업 중 더 짧은 작업인 3번을 서비스. 3번은 8초에 도착. 23초에 서비스를 시작하므로 대기 시간은 23-8 = 15초. 2번은 1번과 3번 작업이 끝난 23+10=33초에 서비스되기 시작. 따라서 2번 작업의 (대기 시간)은 (서비스 시작 시간-도착시간) = 33-3 = 30초. 1번 + 2번 + 3번 = 0 + 15 + 30 = 45초. 평균이므로 3으로 나누면 45/3 = 15초.