2017년 4월 9일 일요일

10. CPU 스케쥴링 알고리즘2


2) Shortest-Job-First (SJF)
 * 버스트 타임이 가장 짧은 것부터 CPU 서비스를 제공한다.
 * 가장 효과적인 알고리즘 방식이다.
 * 선점 방식과 비선점 방식 모두 가능하다.

 * 예1) 동일 프로세스들에 대해 SJF 일때 7.0 ms,  FCFS 일때 10.0 ms

  :  SJF 알고리즘
Shortest-Job-First (SJF)


Shortest-Job-First (SJF)



  :  FCFS 알고리즘

Shortest-Job-First (SJF)



 * 예2) 동일 프로세스들에 대해 비선점 SJF 일때 7.75 ms,  선점 SJF 일때 6.5 ms

   :  비선점(Nonpreemptive) SJF
Shortest-Job-First (SJF)



  : 선점(Preemptive) SJF
        Time 0 일때 도착한 프로세스는 P1뿐임
        Time 1 일때 프로세스 P2가 도착하여 강제로 버스트 타임이 적은 P2로 교환됨
       ( P1 -> 1 ms 처리하고 7 ms 남음 / P2 -> 4 ms 남음 )

Shortest-Job-First (SJF)

 * 문제점
   : 실행시간을 CPU 서비스 이전에 미리 알 수 없다. 따라서 현실적으로 불가능하다.
   : 통계적으로 추정할 수는 있지만 통계처리를 위한 과부하가 발생한다.
   : 이론적으로는 가장 효율적인 알고리즘이지만 현실성이 없다.

댓글 없음:

댓글 쓰기