Shortest job first: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica
 
(25 versioni intermedie di 19 utenti non mostrate)
Riga 1:
{{S|informaticasistema operativo}}
 
''' Shortest Job First '''('''SJF'''), anche conosciuto come ''' Shortest Job Next ''' ('''SJN''') è un metodo [[non-preemptive]] di [[scheduling]] che seleziona il [[processo (informatica)|processo]] in attesa con la più piccola sequenza successiva di operazioni.
Shortest job first è efficiente agrazie causa dellaalla relativa semplicità e perché eleva il [[throughput]] ossia il numero di processi portati a termine in un dato tempo.
Tuttavia, possiede un potenziale problema di [[starvation]], in cui è possibile che un processo rimanga in attesa troppo tempo prima di essere completato se vengono aggiunti continuamente piccoli processi alla coda dei processi pronti.
Questo algoritmo è praticamnetepraticamente non implementabile in quanto non è possibile stabilire con certezza la durata del prossimo [[CPU-burst]] del processo.
 
Vorrei mostrareEcco un esempio di esequzione esecuzione di un sjfSJF non preemptive
 
Vorrei mostrare un esempio di esequzione di un sjf non preemptive
Data la seguente tabella:
 
processi tempo di arrivo tempo di burst
p1 p1 0.0 7
p2 p2 2.0 5
p3 p3 4.0 1
p4 p4 5.0 4
 
avremo il seguente odineordine di esequzioneesecuzione dei processi:
p1 0.0 7
p2 2.0 5
p3 4.0 1
p4 5.0 4
 
p1 p3 p4 p2
avremo il seguente odine di esequzione dei processi:
 
tutto questo per la regola che dice keche si esegue prima il processo che ha burst più breve.
p1 p3 p4 p2
Infatti p1 ha tempo di burst pari a 7 e il successivo più breve è quello che arriva a tempo 74.0 che è p3 e poi si somma il tempo di burst p1 con quello di p3 keche fa 8 e quello a tempo 8 è p4 e poi in fineinfine p2.
 
Una variante preemptive dell'algoritmo è lo [[Shortest Remaining Time First]] ('''SRTF''').
tutto questo per la regola che dice ke si esegue prima il processo che ha burst più breve.
Infatti p1 ha 7 e il successivo più breve è quello che arriva a tempo 7 che è p3 e poi si somma il tempo di burst p1 con quello di p3 ke fa 8 e quello a tempo 8 è p4 e poi in fine p2.
 
== Voci correlate ==
* [[Scheduler]]
 
{{portale|informatica}}
[[Categoria:Sistema operativo]]
 
[[Categoria:Sistema operativokernel]]
[[de:Shortest-Job-First]]
[[Categoria:Algoritmi di scheduling]]
[[en:Shortest job next]]
[[et:Shortest Job Next]]