logo

Pianificazione del lavoro più breve (SJF).

Finora pianificavamo i processi in base al loro orario di arrivo (nella pianificazione FCFS). Tuttavia, l'algoritmo di pianificazione SJF pianifica i processi in base al loro tempo di burst.

Nella pianificazione SJF, il processo con il tempo di burst più basso, tra l'elenco dei processi disponibili nella coda pronta, verrà schedulato successivamente.

Tuttavia, è molto difficile prevedere il tempo di burst necessario per un processo, pertanto questo algoritmo è molto difficile da implementare nel sistema.

Vantaggi dell'SJF

  1. Massima produttività
  2. Tempo medio minimo di attesa e di consegna

Svantaggi dell'SJF

  1. Può soffrire del problema della fame
  2. Non è implementabile perché l'esatto tempo di Burst di un processo non può essere conosciuto in anticipo.

Sono disponibili diverse tecniche con cui è possibile determinare il tempo di burst della CPU del processo. Ne discuteremo più avanti in dettaglio.

Esempio

Nell'esempio seguente, sono presenti cinque lavori denominati P1, P2, P3, P4 e P5. Il loro orario di arrivo e il tempo di burst sono riportati nella tabella seguente.

PID Orario di arrivo Tempo di scoppio Tempo di completamento Tempo di consegna Tempo di attesa
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 ventuno 12 4

Poiché nessun processo arriva al tempo 0 quindi; ci sarà uno slot vuoto nel file diagramma di Gantt dal tempo 0 a 1 (il momento in cui arriva il primo processo).

Secondo l'algoritmo, il sistema operativo pianifica il processo che ha il tempo di burst più basso tra i processi disponibili nella coda pronta.

Fino ad ora, abbiamo un solo processo nella coda pronta, quindi lo scheduler lo pianificherà al processore indipendentemente dal suo tempo di burst.

Questo verrà eseguito fino a 8 unità di tempo. Fino ad allora avremo altri tre processi arrivati ​​nella coda pronta, quindi lo scheduler sceglierà il processo con il tempo di burst più basso.

Tra i processi riportati nella tabella, P3 verrà eseguito successivamente poiché ha il tempo di burst più basso tra tutti i processi disponibili.

Ecco come andrà avanti la procedura prima il lavoro più breve (SJF) algoritmo di pianificazione.

os Algoritmo di pianificazione SJF

Tempo di attesa medio = 27/5