Dans l’exemple suivant, il existe six processus nommés P1, P2, P3, P4, P5 et P6. Leur heure d'arrivée et leur heure de rafale sont indiquées ci-dessous dans le tableau. Le quantum de temps du système est de 4 unités.
ID de processus | Heure d'arrivée | Temps de rafale |
---|---|---|
1 | 0 | 5 |
2 | 1 | 6 |
3 | 2 | 3 |
4 | 3 | 1 |
5 | 4 | 5 |
6 | 6 | 4 |
Selon l'algorithme, nous devons maintenir la file d'attente prête et le diagramme de Gantt. La structure des deux structures de données sera modifiée après chaque planification.
File d'attente prête :
Initialement, à l'instant 0 arrive le processus P1 qui sera programmé pour la tranche de temps 4 unités. Par conséquent, dans la file d'attente prête, il n'y aura qu'un seul processus P1 au démarrage avec un temps de rafale CPU de 5 unités.
P1 |
5 |
diagramme de Gantt
Le P1 sera exécuté pour 4 unités en premier.
File d'attente prête
Pendant ce temps, quatre autres processus P2, P3, P4 et P5 arrivent dans la file d'attente prête. P1 n'est pas encore terminé, il a besoin d'une unité de temps supplémentaire et sera donc également ajouté à la file d'attente prête.
P2 | P3 | P4 | P5 | P1 |
6 | 3 | 1 | 5 | 1 |
diagramme de Gantt
Après P1, P2 sera exécuté pendant 4 unités de temps indiquées dans le diagramme de Gantt.
File d'attente prête
Pendant l'exécution de P2, un processus P6 supplémentaire arrive dans la file d'attente prête. Puisque P2 n'est pas encore terminé, P2 sera également ajouté à la file d'attente prête avec le temps de rafale restant de 2 unités.
P3 | P4 | P5 | P1 | P6 | P2 |
3 | 1 | 5 | 1 | 4 | 2 |
diagramme de Gantt
Après P1 et P2, P3 sera exécuté pendant 3 unités de temps puisque le temps de rafale de son CPU n'est que de 3 secondes.
File d'attente prête
Puisque P3 est terminé, il sera donc terminé et ne sera pas ajouté à la file d'attente prête. Le prochain processus qui sera exécuté est P4.
P4 | P5 | P1 | P6 | P2 |
1 | 5 | 1 | 4 | 2 |
diagramme de Gantt
Après, P1, P2 et P3, P4 seront exécutés. Son temps de rafale n'est que de 1 unité, ce qui est inférieur au quantum de temps et il sera donc terminé.
File d'attente prête
Le processus suivant dans la file d'attente prête est P5 avec 5 unités de temps de rafale. Puisque P4 est terminé, il ne sera pas ajouté à la file d'attente.
P5 | P1 | P6 | P2 |
5 | 1 | 4 | 2 |
diagramme de Gantt
P5 sera exécuté pour toute la tranche de temps car il nécessite 5 unités de temps de rafale qui sont supérieures à la tranche de temps.
File d'attente prête
P5 n'est pas encore terminé ; il sera ajouté à la file d'attente avec le temps de rafale restant de 1 unité.
P1 | P6 | P2 | P5 |
1 | 4 | 2 | 1 |
Diagramme de Gantt
Le processus P1 aura le tour suivant pour achever son exécution. Puisqu'il ne nécessite qu'une unité de temps de rafale, il sera terminé.
File d'attente prête
P1 est terminé et ne sera pas ajouté à la file d'attente prête. Le processus suivant P6 ne nécessite que 4 unités de temps de rafale et il sera exécuté ensuite.
P6 | P2 | P5 |
4 | 2 | 1 |
diagramme de Gantt
P6 sera exécuté pendant 4 unités de temps jusqu'à son achèvement.
File d'attente prête
Puisque P6 est terminé, il ne sera donc plus ajouté à la file d'attente. Il n'y a que deux processus présents dans la file d'attente prête. Le processus Next P2 ne nécessite que 2 unités de temps.
P2 | P5 |
2 | 1 |
Diagramme de Gantt
P2 sera exécuté à nouveau, car il ne nécessite que 2 unités de temps et sera donc terminé.
File d'attente prête
Désormais, le seul processus disponible dans la file d'attente est P5, qui nécessite 1 unité de temps de rafale. Étant donné que la tranche de temps est de 4 unités, elle sera complétée lors de la prochaine rafale.
P5 |
1 |
diagramme de Gantt
P5 sera exécuté jusqu'à la fin.
Le délai de réalisation, le délai d'exécution et le temps d'attente seront calculés comme indiqué dans le tableau ci-dessous.
Comme nous le savons,
Turn Around Time = Completion Time - Arrival Time Waiting Time = Turn Around Time - Burst Time
ID de processus | Heure d'arrivée | Temps de rafale | Le temps d'achèvement | Temps de retournement | Temps d'attente |
---|---|---|---|---|---|
1 | 0 | 5 | 17 | 17 | 12 |
2 | 1 | 6 | 23 | 22 | 16 |
3 | 2 | 3 | onze | 9 | 6 |
4 | 3 | 1 | 12 | 9 | 8 |
5 | 4 | 5 | 24 | vingt | quinze |
6 | 6 | 4 | vingt-et-un | quinze | onze |
Temps d'attente moyen = (12+16+6+8+15+11)/6 = 76/6 unités