web-dev-qa-db-fra.com

Comment calculer le temps d'attente moyen et le temps de rotation moyen dans la planification SJF?

Dans la méthode de planification SJF (Shortest Job First).

enter image description here

Comment calculer le temps d'attente moyen et le temps de rotation moyen?

Est-ce que Gannt Chart est correct?

enter image description here

22
Failed_Noob

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

21
Hifzan

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

enter image description here

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.

enter image description here

17
Erfan Ahmed

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

2
Raja

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.

2
brthomps