GESTIONE DEI PROCESSI - home page luca orrù
GESTIONE DEI PROCESSI - home page luca orrù
GESTIONE DEI PROCESSI - home page luca orrù
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
CENTRO MULTIMEDIALE MONTIFERRU<br />
12. Si descriva l’algoritmo di scheduling Shortest Job First; un esempio è<br />
vivamente consigliato (esame del 12-07-2006)<br />
L’algoritmo di scheduling Shortest Job First (SJF) appartiene alla categoria degli algoritmi<br />
di short term scheduling usati dal sistema operativo per scegliere a quale tra i processi pronti<br />
assegnare la CPU. Con questo algoritmo viene scelto il processo che ha il minor tempo di<br />
esecuzione. Il problema è sapere in anticipo quanto vale il tempo di esecuzione di un<br />
processo. Questo non è praticamente possibile. Allora viene fatta una predizione basandosi<br />
sulle precedenti sequenze di esecuzioni di tale processo. L’algoritmo SJF è ottimale, nel<br />
senso che rende minimo il tempo di attesa medio per un dato insiemi di processi.<br />
Si consideri il seguente esempio:<br />
Siano T.E e T.A rispettivamente i tempi di esecuzione e di arrivo in coda di 4 processi<br />
P1,P2,P3,P4.<br />
processi T.E T.A<br />
P1 10 0<br />
P2 20 0<br />
P3 5 7<br />
P4 60 15<br />
Con l’algoritmo SJF viene prima eseguito il processo con il tempo di esecuzione più breve e<br />
cioè P1.<br />
P1 e P2 arrivano in coda allo stesso istante e poiché P1 è più breve viene eseguito P1. Prima<br />
che P1 termini arriva in coda P3 che è più breve di P2 e quindi viene eseguito P3 e non P2,<br />
anche se P2 è arrivato prima di P3. Poi viene eseguito P2 e infine P4.<br />
Il diagramma temporale è il seguente :<br />
P1<br />
P3<br />
P2<br />
P4<br />
10 15 35<br />
95<br />
tempo