SJF
Shortest Job First
Algoritmo di scheduling S.O.
prof. Alfredo Centinaro
www.alfredocentinaro.it
Come funziona
● E’ un algoritmo molto semplice come il FCFS
● Tra i processi arrivati e in attesa di essere schedulati, non si prende il primo arrivato, ma quello più
corto, col burst quindi più piccolo!
● Si assegna la cpu per tutta la durata del processo
● Evita l’effetto treno: un processo molto lungo arrivato per primo che occupa la cpu a scapito di altri
processi magari più corti
● Ha due versioni: una senza ed una con la prelazione (la vediamo più avanti)
● Le misure di performance sono sempre le stesse come il Tempo Medio di Attesa
Esempio
Esempio
Al tempo 0 prendo il più corto
e tra P1 e P2 è proprio P1
Esempio
● Terminato il P1, abbiamo in lista d’attesa P2, P3, P4
● Se fossimo in FCFS, dovremmo eseguire P2, il primo arrivato tra quelli in attesa
● Con SJF assegno la CPU al più corto ->P4
● Anche se tra tutti quelli in attesa è l’ultimo arrivato!
Esempio
● Eseguito il P4, controllo nuovamente chi è arrivato e in attesa
● Abbiamo P2 e P3 in attesa
● P5 ancora non arriva, entrà alla fine del 7 ms
● Scelgo il più corto ->P3
Esempio
● Ripetiamo la dinamica: tra i processi in attesa, qual è il più breve?
● Finito il P4 sono entrati tutti i processi
● Il più breve è -> P5
Esempio
● Rimane solo il P2 da assegnare alla CPU
● Curioso esempio: il P2 era arrivato al tempo 0 ma è ultimo!
Esempio
Calcoliamo il TMA
● P1 -> 0
● P2 -> 10
● P3 -> 4
● P4 -> 0
● P5 -> 2
TMA = (0+10+4+0+2)/ 5 =16/5=3,2 ms
Come sarebbe andata con FCFS
FCFS
SJF
TMA SJF = (0+10+4+0+2)/ 5 =16/5=3,2 ms
TMA FCFS = (0+4+8+9+8)/5=29/5=5,8ms

More Related Content

PDF
2024 Trend Updates: What Really Works In SEO & Content Marketing
PDF
Comunicazione tra procesi Linux
PPTX
Fcfs first came first serve
PPT
10 Linux Anacron
PPT
Scheduling In Linux
PPT
9 Linux Cron
PDF
Log files - Approcci al Troubleshooting
PPTX
Sjf shortest job first
2024 Trend Updates: What Really Works In SEO & Content Marketing
Comunicazione tra procesi Linux
Fcfs first came first serve
10 Linux Anacron
Scheduling In Linux
9 Linux Cron
Log files - Approcci al Troubleshooting
Sjf shortest job first

Recently uploaded (8)

PPTX
San Giovanni Eudes, 1601 – 1680, sacerdote e fondatore francese.pptx
PPTX
Santa Rosa da Lima, Vergine, Penitente, Terziaria Domenicana 1586-1617.pptx
PDF
Presentazione di Chimica sui Coloranti Alimentari
PDF
NGÂN HÀNG CÂU HỎI TÁCH CHỌN LỌC THEO CHUYÊN ĐỀ TỪ ĐỀ THI THỬ TN THPT 2025 TIẾ...
PDF
Presentazione educazione finanziaria e informazione.pdf
PDF
NGÂN HÀNG CÂU HỎI TÁCH CHỌN LỌC THEO CHUYÊN ĐỀ TỪ ĐỀ THI THỬ TN THPT 2025 TIẾ...
PDF
NGÂN HÀNG CÂU HỎI TÁCH CHỌN LỌC THEO CHUYÊN ĐỀ TỪ ĐỀ THI THỬ TN THPT 2025 TIẾ...
PDF
Critico_o_creativo_Approcci_al_testo_let.pdf
San Giovanni Eudes, 1601 – 1680, sacerdote e fondatore francese.pptx
Santa Rosa da Lima, Vergine, Penitente, Terziaria Domenicana 1586-1617.pptx
Presentazione di Chimica sui Coloranti Alimentari
NGÂN HÀNG CÂU HỎI TÁCH CHỌN LỌC THEO CHUYÊN ĐỀ TỪ ĐỀ THI THỬ TN THPT 2025 TIẾ...
Presentazione educazione finanziaria e informazione.pdf
NGÂN HÀNG CÂU HỎI TÁCH CHỌN LỌC THEO CHUYÊN ĐỀ TỪ ĐỀ THI THỬ TN THPT 2025 TIẾ...
NGÂN HÀNG CÂU HỎI TÁCH CHỌN LỌC THEO CHUYÊN ĐỀ TỪ ĐỀ THI THỬ TN THPT 2025 TIẾ...
Critico_o_creativo_Approcci_al_testo_let.pdf
Ad
Ad

Sjf shortest job first

  • 1. SJF Shortest Job First Algoritmo di scheduling S.O. prof. Alfredo Centinaro www.alfredocentinaro.it
  • 2. Come funziona ● E’ un algoritmo molto semplice come il FCFS ● Tra i processi arrivati e in attesa di essere schedulati, non si prende il primo arrivato, ma quello più corto, col burst quindi più piccolo! ● Si assegna la cpu per tutta la durata del processo ● Evita l’effetto treno: un processo molto lungo arrivato per primo che occupa la cpu a scapito di altri processi magari più corti ● Ha due versioni: una senza ed una con la prelazione (la vediamo più avanti) ● Le misure di performance sono sempre le stesse come il Tempo Medio di Attesa
  • 4. Esempio Al tempo 0 prendo il più corto e tra P1 e P2 è proprio P1
  • 5. Esempio ● Terminato il P1, abbiamo in lista d’attesa P2, P3, P4 ● Se fossimo in FCFS, dovremmo eseguire P2, il primo arrivato tra quelli in attesa ● Con SJF assegno la CPU al più corto ->P4 ● Anche se tra tutti quelli in attesa è l’ultimo arrivato!
  • 6. Esempio ● Eseguito il P4, controllo nuovamente chi è arrivato e in attesa ● Abbiamo P2 e P3 in attesa ● P5 ancora non arriva, entrà alla fine del 7 ms ● Scelgo il più corto ->P3
  • 7. Esempio ● Ripetiamo la dinamica: tra i processi in attesa, qual è il più breve? ● Finito il P4 sono entrati tutti i processi ● Il più breve è -> P5
  • 8. Esempio ● Rimane solo il P2 da assegnare alla CPU ● Curioso esempio: il P2 era arrivato al tempo 0 ma è ultimo!
  • 9. Esempio Calcoliamo il TMA ● P1 -> 0 ● P2 -> 10 ● P3 -> 4 ● P4 -> 0 ● P5 -> 2 TMA = (0+10+4+0+2)/ 5 =16/5=3,2 ms
  • 10. Come sarebbe andata con FCFS FCFS SJF TMA SJF = (0+10+4+0+2)/ 5 =16/5=3,2 ms TMA FCFS = (0+4+8+9+8)/5=29/5=5,8ms