logo

Prvo najkraći posao (SJF) Planiranje

Do sada smo procese raspoređivali prema vremenu dolaska (u FCFS rasporedu). Međutim, algoritam za raspoređivanje SJF raspoređuje procese prema njihovom vremenu praska.

U SJF raspoređivanju, proces s najnižim vremenom pražnjenja, među popisom dostupnih procesa u redu čekanja, bit će zakazan sljedeći.

Međutim, vrlo je teško predvidjeti vrijeme praska potrebno za proces stoga je ovaj algoritam vrlo teško implementirati u sustav.

Prednosti SJF-a

  1. Maksimalna propusnost
  2. Minimalno prosječno vrijeme čekanja i obrade

Nedostaci SJF

  1. Može patiti od problema gladovanja
  2. Nije ga moguće provesti jer se točno vrijeme praska za proces ne može znati unaprijed.

Dostupne su različite tehnike pomoću kojih se može odrediti vrijeme pražnjenja CPU-a procesa. O njima ćemo kasnije detaljnije razgovarati.

Primjer

U sljedećem primjeru postoji pet poslova s ​​imenima P1, P2, P3, P4 i P5. Njihovo vrijeme dolaska i vrijeme pucanja navedeni su u tablici u nastavku.

10 od 100
PID Vrijeme dolaska Vrijeme pucanja Vrijeme završetka Vrijeme obrade Vrijeme čekanja
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 dvadeset i jedan 12 4

Budući da nijedan proces ne dolazi u vrijeme 0; bit će prazan utor u gantogram od vremena 0 do 1 (vrijeme u kojem dolazi prvi proces).

Prema algoritmu, OS raspoređuje proces koji ima najniže vrijeme praska među dostupnim procesima u redu čekanja.

Do sada imamo samo jedan proces u redu čekanja, stoga će planer to rasporediti procesoru bez obzira na vrijeme praska.

Ovo će se izvršavati do 8 vremenskih jedinica. Do tada imamo još tri procesa u spremnom redu stoga će planer odabrati proces s najnižim vremenom praska.

instanceof u Javi

Među procesima navedenim u tablici, P3 će se izvršiti sljedeći budući da ima najniže vrijeme praska među svim dostupnim procesima.

Tako će se postupak dalje odvijati prvi najkraći posao (SJF) algoritam raspoređivanja.

os SJF algoritam raspoređivanja

Prosječno vrijeme čekanja = 27/5