logo

Načrtovanje najkrajšega dela najprej (SJF).

Do sedaj smo procese načrtovali glede na njihov čas prihoda (v razporejanju FCFS). Vendar pa algoritem za razporejanje SJF načrtuje procese glede na njihov čas izbruha.

Pri razporejanju SJF bo naslednji razporejen proces z najkrajšim časom izbruha na seznamu razpoložljivih procesov v pripravljeni čakalni vrsti.

Vendar pa je zelo težko predvideti razpočni čas, potreben za proces, zato je ta algoritem zelo težko implementirati v sistem.

Prednosti SJF

  1. Največja prepustnost
  2. Minimalni povprečni čas čakanja in obračanja

Slabosti SJF

  1. Lahko trpi zaradi težave s stradanjem
  2. Ni izvedljivo, ker točnega časa izbruha za proces ni mogoče poznati vnaprej.

Na voljo so različne tehnike, s katerimi je mogoče določiti čas izbruha CPE procesa. O njih bomo podrobneje razpravljali pozneje.

Primer

V naslednjem primeru je pet opravil, imenovanih P1, P2, P3, P4 in P5. Njihov čas prihoda in čas izbruha sta podana v spodnji tabeli.

PID Čas prihoda Burst Time Čas dokončanja Turn Around Time Čas čakanja
1 1 7 8 7 0
2 3 3 13 10 7
3 6 2 10 4 2
4 7 10 31 24 14
5 9 8 enaindvajset 12 4

Ker Noben proces ne prispe v času 0 torej; bo prazna reža v Gantogram od časa 0 do 1 (čas, ko pride prvi proces).

namestitev gorilnika

V skladu z algoritmom operacijski sistem načrtuje proces, ki ima najnižji razpočni čas med razpoložljivimi procesi v čakalni vrsti pripravljenosti.

Do zdaj imamo samo en proces v pripravljeni čakalni vrsti, zato bo razporejevalnik to načrtoval procesorju ne glede na njegov čas izbruha.

To se bo izvajalo do 8 časovnih enot. Do takrat imamo v pripravljeni čakalni vrsti prispele še tri procese, zato bo razporejevalnik izbral proces z najkrajšim časom izbruha.

pisava gimp

Med procesi, navedenimi v tabeli, se bo P3 izvedel naslednji, saj ima med vsemi razpoložljivimi procesi najkrajši čas izbruha.

Tako bo postopek potekal naprej najprej najkrajša naloga (SJF) algoritem za razporejanje.

algoritem razporejanja os SJF

Povprečni čakalni čas = 27/5