logo

Exemple de planification RR

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.

os Exemple de planification RR Diagramme de GANTT

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.

os Exemple de planification RR Diagramme de GANTT 1

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.

os Exemple de planification RR Diagramme de GANTT 2

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é.

os RR Exemple de planification Diagramme de GANTT 3

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.

os Exemple de planification RR Diagramme de GANTT 4

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é.

os Exemple de planification RR Diagramme de GANTT 5

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.

os Exemple de planification RR Diagramme de GANTT 6

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é.

os Exemple de planification RR Diagramme de GANTT 7

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.

os Exemple de planification RR Diagramme de GANTT 8

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