Dans la méthode de planification SJF (Shortest Job First).
Comment calculer le temps d'attente moyen et le temps de rotation moyen?
Est-ce que Gannt Chart est correct?
Le diagramme de Gantt est faux ... Le premier processus P3 est arrivé, il sera donc exécuté en premier. Comme le temps de rafale de P3 est de 3 secondes après l'achèvement de P3, les processus P2, P4 et P5 sont arrivés. Parmi P2, P4 et P5, le temps de rafale le plus court est de 1 s pour P2; P2 s'exécutera ensuite. Puis P4 et P5. Enfin, P1 sera exécuté.
Le diagramme de Gantt pour cette question sera:
| P3 | P2 | P4 | P5 | P1 |
1 4 5 7 11 14
Temps d'attente moyen = (0 + 2 + 2 + 3 + 3)/5 = 2
Délai moyen = (3 + 3 + 4 + 7 + 6) /5=4.6
Les SJF sont deux types - i) SJF non préemptifs ii) SJF préventifs
J'ai réorganisé les processus en fonction de l'heure d'arrivée. voici le SJF non préemptif
T = Heure d'arrivée
T = Temps de rafale
Tc = heure d'achèvement
T.T = Temps de rotation = C.T - A.T
W.T = Temps d'attente = T.T - B.T
Voici le SJF préemptif. Remarque: chaque processus sera préemptif lorsqu'un nouveau processus arrive. Ensuite, il comparera les temps de rafale et allouera le processus qui a le temps de rafale le plus court. Mais si deux processus ont le même temps de rafale, le processus qui est arrivé en premier sera alloué en premier, tout comme FCFS.
il est faux. correct sera
P3 P2 P4 P5 P1 0 3 4 6 10 Ces différences sont-elles correctes?
Temps d'attente (0 + 3 + 4 + 6 + 10)/5 = 4.6
Réf.: http://www.it.uu.se/edu/course/homepage/oskomp/vt07/lectures/scheduling_algorithms/handout.pdf
Les diagrammes de Gantt donnés par Hifzan et Raja sont destinés aux algorithmes FCFS.
Avec un algorithme SJF, les processus peuvent être interrompus. C'est-à-dire que chaque processus ne s'exécute pas nécessairement tout au long de son temps de rafale donné.
P3 | P2 | P4 | P3 | P5 | P1 | P5
1 | 2 | 3 | 5 | 7 | 8 | 11 | 14
P3 arrive à 1 ms, puis est interrompu par P2 et P4 car ils ont tous les deux des temps de rafale plus courts, puis P3 reprend. P5 commence à s'exécuter ensuite, puis est interrompu par P1 car le temps de rafale de P1 est inférieur à celui de P5. Vous devez noter les heures d'arrivée et faire attention. Ces problèmes peuvent être plus complexes que leur apparence au premier abord.
EDIT: Cela s'applique uniquement aux algorithmes SJF préemptifs. Un algorithme SJF simple n'est pas préemptif, ce qui signifie qu'il n'interrompt pas un processus.