logo

Esempio di pianificazione RR

Nell'esempio seguente, sono presenti sei processi denominati P1, P2, P3, P4, P5 e P6. Il loro orario di arrivo e il tempo di burst sono riportati di seguito nella tabella. Il quanto di tempo del sistema è di 4 unità.

ID processo Orario di arrivo Tempo di scoppio
1 0 5
2 1 6
3 2 3
4 3 1
5 4 5
6 6 4

Secondo l'algoritmo, dobbiamo mantenere la coda pronta e il diagramma di Gantt. La struttura di entrambe le strutture dati verrà modificata dopo ogni programmazione.

Coda pronta:

Inizialmente, al tempo 0, arriva il processo P1 che sarà schedulato per l'intervallo temporale 4 unità. Quindi nella coda pronta ci sarà un solo processo P1 all'inizio con un tempo di burst della CPU di 5 unità.

P1
5

diagramma di Gantt

Il P1 verrà eseguito prima per 4 unità.

os Esempio di pianificazione RR Diagramma GANTT

Coda pronta

Nel frattempo, dopo l'esecuzione di P1, altri quattro processi P2, P3, P4 e P5 arrivano in coda. P1 non è ancora stato completato, necessita di un'altra unità di tempo, quindi verrà aggiunto nuovamente alla coda dei pronti.

P2 P3 P4 P5 P1
6 3 1 5 1

diagramma di Gantt

Dopo P1, P2 verrà eseguito per 4 unità di tempo, come mostrato nel diagramma di Gantt.

os Esempio di pianificazione RR Grafico GANTT 1

Coda pronta

Durante l'esecuzione di P2, nella coda dei pronti arriva un ulteriore processo P6. Poiché P2 non è ancora stato completato, quindi, anche P2 verrà aggiunto nuovamente alla coda dei prodotti pronti con il tempo di burst rimanente di 2 unità.

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

diagramma di Gantt

Dopo P1 e P2, P3 verrà eseguito per 3 unità di tempo poiché il tempo di burst della CPU è di soli 3 secondi.

os Esempio di pianificazione RR Grafico GANTT 2

Coda pronta

Poiché P3 è stato completato, verrà terminato e non verrà aggiunto alla coda dei prodotti pronti. Il prossimo processo che verrà eseguito è P4.

P4 P5 P1 P6 P2
1 5 1 4 2

diagramma di Gantt

Dopo, P1, P2 e P3, P4 verrà eseguito. Il suo tempo di scoppio è solo di 1 unità, che è inferiore al quanto di tempo, quindi verrà completato.

os Esempio di pianificazione RR Grafico GANTT 3

Coda pronta

Il processo successivo nella coda pronta è P5 con 5 unità di burst time. Poiché P4 è completato, non verrà aggiunto nuovamente alla coda.

P5 P1 P6 P2
5 1 4 2

diagramma di Gantt

P5 verrà eseguito per l'intero intervallo di tempo perché richiede 5 unità di tempo burst che è superiore all'intervallo di tempo.

os Esempio di pianificazione RR diagramma GANTT 4

Coda pronta

P5 non è stato ancora completato; verrà aggiunto nuovamente alla coda con il tempo di burst rimanente di 1 unità.

confronto di stringhe java
P1 P6 P2 P5
1 4 2 1

Diagramma di Gantt

Al processo P1 verrà assegnato il turno successivo per completare la sua esecuzione. Poiché richiede solo 1 unità di tempo di burst, verrà completato.

os Esempio di pianificazione RR Grafico GANTT 5

Coda pronta

P1 è completato e non verrà aggiunto nuovamente alla coda pronta. Il successivo processo P6 richiede solo 4 unità di burst time e verrà eseguito successivamente.

P6 P2 P5
4 2 1

diagramma di Gantt

P6 verrà eseguito per 4 unità di tempo fino al completamento.

os Esempio di pianificazione RR diagramma GANTT 6

Coda pronta

Poiché P6 è completato, non verrà aggiunto nuovamente alla coda. Ci sono solo due processi presenti nella coda pronta. Il processo successivo P2 richiede solo 2 unità di tempo.

P2 P5
2 1

Diagramma di Gantt

P2 verrà eseguito di nuovo, poiché richiede solo 2 unità di tempo, quindi verrà completato.

os Esempio di pianificazione RR diagramma GANTT 7

Coda pronta

Ora, l'unico processo disponibile nella coda è P5 che richiede 1 unità di burst time. Poiché l'intervallo di tempo è di 4 unità, verrà completato nel burst successivo.

P5
1

diagramma di Gantt

P5 verrà eseguito fino al completamento.

os Esempio di pianificazione RR diagramma GANTT 8

Il tempo di completamento, il tempo di consegna e il tempo di attesa verranno calcolati come mostrato nella tabella seguente.

Come sappiamo,

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

ID processo Orario di arrivo Tempo di scoppio Tempo di completamento Tempo di consegna Tempo di attesa
1 0 5 17 17 12
2 1 6 23 22 16
3 2 3 undici 9 6
4 3 1 12 9 8
5 4 5 24 venti quindici
6 6 4 ventuno quindici undici

Tempo di attesa medio = (12+16+6+8+15+11)/6 = 76/6 unità