선행글 : https://3dmpengines.tistory.com/2340

 

이렇게 남아 있는 시간중에 더 짧은 시간인것이 먼저 처리 되게 하는 방식을

SRTF : 즉 Preemptive SJF 스케줄링 이라 한다 , R 은 Remaining

 

0초에 P1 이 도착

1 초에 P2 가 도착

2 초에 P3 가 도착

3 초에 P4 가 도착

 

위 처럼 뭉처 있게 되는데

 

실행순서를 보면 처음 P1 은 레디큐에 아무것도 없기 때문에 바로 실행된다

 

이때 1초가 지났을때 즉 절대 시간 1초에서 보면 

 

P1 의 Burst Time 은 8초에서 이제 7초가 남았고 

P2 가 이제 들어오게 되는데 P2 의 Burst Time 이 4 라서 P1 에 남아 있는 시간

7초보다 작으니 P2가 선점되어 실행되게 된다

 

그다음 절대 시간 3초에서 보면 P2의 남은 시간은 3초고 P3가 이제 도착 했는데 Burst Time 이 9초 임으로

P2 가 계속 실행된다 

 

절대시간 4초에서 보면 P2의 남아 있는 시간은 2초고 P4의 Burst Time 이 5초 임으로 마찬가지로 P2 가 계속 실행된다

 

절대시간 5초에서 보면 P2 는 끝났고 이제 남아 있는 P1의 시간과 나머지 P2, P4 와 마찬가지로 시간 경합을 하여 실행하게 된다

 

최종적으로 실행된 결과는 다음 처럼 된다

사실 위에 있는 이미지와 동일한데 한번더 쓴것

 

 

 

이것은 SJF 하고 비교하면 SRTF 가 평균대기 시간이 좀더 짧을 수 있다

실제 계산해보면 SJF 는 평균 대기 시간이 7.75가 된다

 

 

반응형

+ Recent posts