logo

Exemplu de programare RR

În exemplul următor, există șase procese numite P1, P2, P3, P4, P5 și P6. Ora de sosire și timpul de explozie sunt date mai jos în tabel. Cuantumul de timp al sistemului este de 4 unități.

ID proces Timpul sosirii Timp de explozie
1 0 5
2 1 6
3 2 3
4 3 1
5 4 5
6 6 4

Conform algoritmului, trebuie să menținem coada pregătită și diagrama Gantt. Structura ambelor structuri de date va fi schimbată după fiecare programare.

Coada gata:

Inițial, la ora 0, sosește procesul P1 care va fi programat pentru intervalul de timp 4 unități. Prin urmare, în coada gata, va exista un singur proces P1 la începutul cu timpul de explozie a CPU 5 unități.

P1
5

diagrama Gantt

P1 va fi executat mai întâi pentru 4 unități.

os RR Scheduling Exemplu diagramă ANTT

Coadă gata

Între timp, execuția P1, încă patru procese P2, P3, P4 și P5 sosesc în coada gata. P1 nu s-a finalizat încă, are nevoie de încă o unitate de timp, prin urmare, va fi adăugat și înapoi la coada de așteptare.

P2 P3 P4 P5 P1
6 3 1 5 1

diagrama Gantt

După P1, P2 va fi executat timp de 4 unități de timp, care este afișat în diagrama Gantt.

os RR Scheduling Exemplu diagramă ANTT 1

Coadă gata

În timpul execuției P2, încă un proces P6 este sosit în coada de așteptare. Deoarece P2 nu s-a finalizat încă, P2 va fi, de asemenea, adăugat înapoi la coada de așteptare cu timpul de explozie rămas de 2 unități.

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

diagrama Gantt

După P1 și P2, P3 va fi executat timp de 3 unități de timp, deoarece timpul de explozie a procesorului este de numai 3 secunde.

os RR Scheduling Exemplu diagramă ANTT 2

Coadă gata

Deoarece P3 a fost finalizat, acesta va fi terminat și nu va fi adăugat la coada de așteptare. Următorul proces care va fi executat este P4.

P4 P5 P1 P6 P2
1 5 1 4 2

diagrama Gantt

După, P1, P2 și P3, P4 va fi executat. Timpul său de explozie este de numai 1 unitate, ceea ce este mai mic decât cuantumul de timp, prin urmare, va fi finalizat.

os RR Scheduling Exemplu diagramă ANTT 3

Coadă gata

Următorul proces din coada de pregătire este P5 cu 5 unități de timp de explozie. Deoarece P4 este finalizat, nu va fi adăugat înapoi la coadă.

P5 P1 P6 P2
5 1 4 2

diagrama Gantt

P5 va fi executat pentru întregul interval de timp, deoarece necesită 5 unități de timp de explozie, care este mai mare decât intervalul de timp.

os RR Scheduling Exemplu diagramă ANTT 4

Coadă gata

P5 nu a fost încă finalizat; va fi adăugat înapoi la coadă cu timpul de explozie rămas de 1 unitate.

P1 P6 P2 P5
1 4 2 1

Diagrama GANTT

Procesului P1 i se va da următoarea tură pentru a-și finaliza execuția. Deoarece necesită doar 1 unitate de timp de explozie, deci va fi finalizat.

os RR Scheduling Exemplu diagramă ANTT 5

Coadă gata

P1 este finalizat și nu va fi adăugat înapoi la coada gata. Următorul proces P6 necesită doar 4 unități de timp de explozie și va fi executat în continuare.

P6 P2 P5
4 2 1

diagrama Gantt

P6 va fi executat timp de 4 unități de timp până la finalizare.

os RR Scheduling Exemplu diagramă ANTT 6

Coadă gata

Deoarece P6 este finalizat, nu va fi adăugat din nou la coadă. Există doar două procese prezente în coada gata. Următorul proces P2 necesită doar 2 unități de timp.

P2 P5
2 1

Diagrama GANTT

P2 va fi executat din nou, deoarece necesită doar 2 unități de timp, prin urmare, acesta va fi finalizat.

os RR Scheduling Exemplu diagramă ANTT 7

Coadă gata

Acum, singurul proces disponibil în coadă este P5, care necesită 1 unitate de timp de explozie. Deoarece intervalul de timp este de 4 unități, deci va fi completat în următoarea explozie.

P5
1

diagrama Gantt

P5 va fi executat până la finalizare.

os RR Scheduling Exemplu diagramă ANTT 8

Timpul de finalizare, timpul de realizare și timpul de așteptare vor fi calculate așa cum se arată în tabelul de mai jos.

După cum știm,

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

ID proces Timpul sosirii Timp de explozie Timp de finalizare Întoarceți Timpul Timp de asteptare
1 0 5 17 17 12
2 1 6 23 22 16
3 2 3 unsprezece 9 6
4 3 1 12 9 8
5 4 5 24 douăzeci cincisprezece
6 6 4 douăzeci și unu cincisprezece unsprezece

Timp mediu de așteptare = (12+16+6+8+15+11)/6 = 76/6 unități