logo

Shortest Job First (SJF) Planlegging

Til nå planla vi prosessene i henhold til ankomsttiden deres (i FCFS-planlegging). SJF-planleggingsalgoritmen planlegger imidlertid prosessene i henhold til deres eksplosjonstid.

I SJF-planlegging vil prosessen med den laveste serietiden, blant listen over tilgjengelige prosesser i klarkøen, planlegges neste gang.

Imidlertid er det svært vanskelig å forutsi bruddtiden som trengs for en prosess, og derfor er denne algoritmen svært vanskelig å implementere i systemet.

Fordeler med SJF

  1. Maksimal gjennomstrømning
  2. Minimum gjennomsnittlig vente- og behandlingstid

Ulemper med SJF

  1. Kan lide av problemet med sult
  2. Den er ikke implementerbar fordi den nøyaktige Burst-tiden for en prosess ikke kan være kjent på forhånd.

Det er forskjellige teknikker tilgjengelig ved hjelp av hvilke prosessbrytningstiden for prosessen kan bestemmes. Vi vil diskutere dem i detalj senere.

Eksempel

I det følgende eksempelet er det fem jobber navngitt som P1, P2, P3, P4 og P5. Deres ankomsttid og eksplosjonstid er gitt i tabellen nedenfor.

PID Ankomsttid Burst Time Fullføringstid Turn Around Time Ventetid
1 1 7 8 7 0
2 3 3 1. 3 10 7
3 6 2 10 4 2
4 7 10 31 24 14
5 9 8 tjueen 12 4

Siden kommer ingen prosess til tiden 0, derav; det vil være et tomt spor i gantt-diagram fra tid 0 til 1 (tidspunktet da den første prosessen kommer).

I henhold til algoritmen planlegger operativsystemet prosessen som har den laveste eksplosjonstiden blant de tilgjengelige prosessene i klarkøen.

Til nå har vi bare én prosess i klarkøen, så planleggeren vil planlegge dette til prosessoren uansett hva som er eksplosjonstiden.

Dette vil bli utført til 8 tidsenheter. Inntil da har vi tre prosesser til i klarkøen, så planleggeren vil velge prosessen med den laveste serietiden.

Blant prosessene gitt i tabellen, vil P3 bli utført neste siden den har den laveste bruddtiden blant alle tilgjengelige prosesser.

Så det er hvordan prosedyren vil fortsette inn korteste jobb først (SJF) planleggingsalgoritme.

os SJF planleggingsalgoritme

Gjennomsnittlig ventetid = 27/5