logo

Exemple de programació RR

A l'exemple següent, hi ha sis processos anomenats P1, P2, P3, P4, P5 i P6. La seva hora d'arribada i l'hora d'explosió es mostren a continuació a la taula. El quàntic de temps del sistema és de 4 unitats.

ID del procés Temps d'arribada Temps d'explosió
1 0 5
2 1 6
3 2 3
4 3 1
5 4 5
6 6 4

Segons l'algorisme, hem de mantenir la cua preparada i el diagrama de Gantt. L'estructura de les dues estructures de dades es canviarà després de cada programació.

Cua a punt:

Inicialment, a l'hora 0, arriba el procés P1 que estarà programat per a la franja de temps 4 unitats. Per tant, a la cua preparada, només hi haurà un procés P1 en començar amb el temps de ràfega de la CPU 5 unitats.

P1
5

diagrama de Gantt

El P1 s'executarà primer per a 4 unitats.

mitjana vs mitjana
os RR Scheduling Exemple de diagrama ANTT

Cua a punt

Mentrestant, l'execució de P1, quatre processos més P2, P3, P4 i P5 arriben a la cua preparada. P1 encara no s'ha completat, necessita una altra unitat de temps, per la qual cosa també es tornarà a afegir a la cua preparada.

P2 P3 P4 P5 P1
6 3 1 5 1

diagrama de Gantt

Després de P1, P2 s'executarà durant 4 unitats de temps que es mostra al diagrama de Gantt.

os RR Scheduling Exemple de diagrama ANTT 1

Cua a punt

Durant l'execució de P2, un altre procés P6 arriba a la cua llest. Com que P2 encara no s'ha completat, P2 també es tornarà a afegir a la cua preparada amb el temps de ràfega restant 2 unitats.

P3 P4 P5 P1 P6 P2
3 1 5 1 4 2

diagrama de Gantt

Després de P1 i P2, P3 s'executarà durant 3 unitats de temps, ja que el temps d'explosió de la CPU és de només 3 segons.

arp-a comanda
os RR Scheduling Exemple de diagrama ANTT 2

Cua a punt

Com que P3 s'ha completat, s'acabarà i no s'afegirà a la cua preparada. El següent procés que s'executarà és P4.

P4 P5 P1 P6 P2
1 5 1 4 2

diagrama de Gantt

Després, P1, P2 i P3, P4 s'executarà. El seu temps d'explosió és només 1 unitat, que és menor que el quàntic de temps, per tant, es completarà.

os RR Scheduling Exemple de diagrama ANTT 3

Cua a punt

El següent procés a la cua de preparació és P5 amb 5 unitats de temps de ràfega. Com que P4 s'ha completat, no es tornarà a afegir a la cua.

P5 P1 P6 P2
5 1 4 2

diagrama de Gantt

P5 s'executarà durant tot el tram de temps perquè requereix 5 unitats de temps de ràfega, que és superior al període de temps.

os RR Scheduling Exemple de diagrama ANTT 4

Cua a punt

P5 encara no s'ha acabat; es tornarà a afegir a la cua amb el temps de ràfega restant d'1 unitat.

nfa a dfa
P1 P6 P2 P5
1 4 2 1

Diagrama de Gantt

El procés P1 tindrà el següent torn per completar la seva execució. Com que només requereix 1 unitat de temps de ràfega, per tant es completarà.

os RR Scheduling Exemple de diagrama ANTT 5

Cua a punt

P1 s'ha completat i no s'afegirà de nou a la cua preparada. El següent procés P6 requereix només 4 unitats de temps de ràfega i s'executarà a continuació.

P6 P2 P5
4 2 1

diagrama de Gantt

P6 s'executarà durant 4 unitats de temps fins a la finalització.

os RR Scheduling Exemple de diagrama ANTT 6

Cua a punt

Com que P6 s'ha completat, per tant no s'afegirà de nou a la cua. Només hi ha dos processos presents a la cua preparada. El procés següent P2 només requereix 2 unitats de temps.

P2 P5
2 1

Diagrama de Gantt

P2 es tornarà a executar, ja que només requereix 2 unitats de temps, per tant, es completarà.

os RR Scheduling Exemple de diagrama ANTT 7

Cua a punt

Ara, l'únic procés disponible a la cua és P5, que requereix 1 unitat de temps de ràfega. Com que el tram de temps és de 4 unitats, es completarà en la següent ràfega.

ciutats a Austràlia
P5
1

diagrama de Gantt

P5 s'executarà fins a la finalització.

os RR Scheduling Exemple de diagrama ANTT 8

El temps de finalització, el temps d'execució i el temps d'espera es calcularan tal com es mostra a la taula següent.

Com sabem,

 Turn Around Time = Completion Time - Arrival Time Waiting Time = Turn Around Time - Burst Time 

ID del procés Temps d'arribada Temps d'explosió Temps de finalització Temps de resposta Temps d'espera
1 0 5 17 17 12
2 1 6 23 22 16
3 2 3 11 9 6
4 3 1 12 9 8
5 4 5 24 20 15
6 6 4 21 15 11

Temps d'espera mitjà = (12+16+6+8+15+11)/6 = 76/6 unitats