운영체제의 SJF 알고리즘에 대해.
글쓴이: kim영근 / 작성시간: 토, 2006/10/14 - 1:53오후
SJF의 Preemptive 와 SJF의None-Preemptive 의 원리를 알고 싶습니다.
프로세스 도착 시간 버스트 시간
P1 0 7
P2 1 4
P3 2 1
P4 3 4
None-Preemptive 의 경우 평균 대기 시간이 4입니다.
순서를 보면 P1-> P3-> P2-> P4
Preemptive의 경우 평균 대기 시간은 3입니다.
P1-> P2-> P3-> P2-> P4-> P1
이 알고리즘의 순서 P1~ P4 까지의 순서 왜 이렇게 정해지는지 이해가 안가네요.
Forums:
시간 P1
음.. 잘 보이려나 모르겠군요 -o- code하면 고정폭을 쓰는게 아닌가..
SJF 가 Shortest Job First 알고리즘의 약자입니다.
SJF 는 Shortest Jop First 로 CPU Burst Time 가장 짧은 프로세스부터 실행합니다.
SJF 는 Non-preemtive 스케줄링으로 프로세스가 돌고 있는 동안 강제로 CPU 를 뺏을 수 없으므로
제일 먼저 도착한 P1 이 먼저 실행되고 P1 이 실행을 마치고 난 후에 도착한 프로세스 중에 가장 시간이 적게 걸리는 P3 가 수행되고, 그 이후는 P2 나 P4 가 실행됩니다.
P2 -> P4 가 되는 이유는 잘 모르겠습니다. 그리고 SJF 는 기본적으로 Non-preemtive 라고 알고 있습니다. SJF 를 Preemtive 하게 바꾼 것은 SRTN 일겁니다.
-----------------------------------------------------------------------
*경고* 아바타 따라하지 마세요!!
dasomoli = DasomOLI = Dasom + DOLI = 다솜돌이
다솜 = 사랑하옴의 옛 고어.
Developer! ubuntu-ko! 다솜돌이 정석
dasomoli의 블로그(http://dasomoli.org)
dasomoli = DasomOLI = Dasom + DOLI = 다솜돌이
다솜 = 사랑하옴의 옛 고어.
Developer! ubuntu-ko! 다솜돌이 정석
P2 -> P4가되는이유는
SJF 에서 같은burst의 프로세스들을 스케줄링할 때에는 FCFS (선입선출)스케줄링으로
순서를 정한다고 알고있습니다.
댓글 달기