logo

Příklad plánování RR

V následujícím příkladu je šest procesů pojmenovaných jako P1, P2, P3, P4, P5 a P6. Jejich čas příjezdu a čas burstu jsou uvedeny níže v tabulce. Časové kvantum systému je 4 jednotky.

ID procesu Čas příjezdu Burst Time
1 0 5
2 1 6
3 2 3
4 3 1
5 4 5
6 6 4

Podle algoritmu musíme udržovat připravenou frontu a Ganttův diagram. Struktura obou datových struktur se po každém plánování změní.

Připravená fronta:

Zpočátku, v čase 0, přichází proces P1, který bude naplánován pro časový úsek 4 jednotky. Ve frontě připravenosti tedy bude pouze jeden proces P1 na začátku s dobou shluku CPU 5 jednotek.

P1
5

Ganttův diagram

P1 se nejprve provede pro 4 jednotky.

os Příklad plánování RR GANTTův diagram

Připravená fronta

Mezitím provádění P1, čtyři další procesy P2, P3, P4 a P5 dorazí do připravené fronty. P1 ještě není dokončen, potřebuje další 1 jednotku času, proto bude také přidán zpět do fronty připravených.

P2 P3 P4 P5 P1
6 3 1 5 1

Ganttův diagram

Po P1 se bude provádět P2 po dobu 4 jednotek času, což je znázorněno v Ganttově diagramu.

sousední úhly
os Příklad plánování RR GANTTův diagram 1

Připravená fronta

Během provádění P2 dorazí do fronty připravených ještě jeden proces P6. Vzhledem k tomu, že P2 ještě není dokončen, P2 bude také přidán zpět do fronty připravenosti se zbývající dobou shluku 2 jednotky.

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

Ganttův diagram

Po P1 a P2 se P3 spustí po 3 jednotky času, protože doba shluku CPU je pouze 3 sekundy.

os Příklad plánování RR GANTTův diagram 2

Připravená fronta

Vzhledem k tomu, že P3 byla dokončena, bude ukončena a nebude přidána do připravené fronty. Další proces, který bude proveden, je P4.

pořadí podle náhodného sql
P4 P5 P1 P6 P2
1 5 1 4 2

Ganttův diagram

Poté budou provedeny P1, P2 a P3, P4. Jeho doba výbuchu je pouze 1 jednotka, což je méně než časové kvantum, takže bude dokončeno.

os Příklad plánování RR GANTTův diagram 3

Připravená fronta

Dalším procesem ve frontě připravenosti je P5 s 5 jednotkami času burstu. Protože P4 je dokončen, nebude přidán zpět do fronty.

P5 P1 P6 P2
5 1 4 2

Ganttův diagram

P5 bude proveden pro celý časový úsek, protože vyžaduje 5 jednotek času burstu, který je vyšší než časový úsek.

os Příklad plánování RR GANTTův diagram 4

Připravená fronta

P5 ještě není dokončena; bude přidán zpět do fronty se zbývající dobou shluku 1 jednotky.

P1 P6 P2 P5
1 4 2 1

Ganttův diagram

Proces P1 bude mít další kolo, aby dokončil své provedení. Vzhledem k tomu, že vyžaduje pouze 1 jednotku času burstu, bude dokončena.

os Příklad plánování RR GANTTův diagram 5

Připravená fronta

P1 je dokončen a nebude přidán zpět do připravené fronty. Další proces P6 vyžaduje pouze 4 jednotky času burstu a bude proveden jako další.

P6 P2 P5
4 2 1

Ganttův diagram

P6 se ​​bude provádět po dobu 4 jednotek času do dokončení.

os Příklad plánování RR GANTTův diagram 6

Připravená fronta

Protože P6 je dokončen, nebude znovu přidán do fronty. Ve frontě připravených jsou pouze dva procesy. Další proces P2 vyžaduje pouze 2 jednotky času.

P2 P5
2 1

Ganttův diagram

P2 se provede znovu, protože vyžaduje pouze 2 jednotky času, a proto bude dokončen.

os Příklad plánování RR GANTTův diagram 7

Připravená fronta

Nyní je jediným dostupným procesem ve frontě proces P5, který vyžaduje 1 jednotku času burstu. Vzhledem k tomu, že časový úsek má 4 jednotky, bude dokončen v další dávce.

P5
1

Ganttův diagram

P5 bude proveden až do dokončení.

Java generuje náhodné číslo
os Příklad plánování RR GANTTův diagram 8

Doba dokončení, doba obratu a čekací doba budou vypočítány tak, jak je uvedeno v tabulce níže.

Jak víme,

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

ID procesu Čas příjezdu Burst Time Čas dokončení Turn Around Time Čekací doba
1 0 5 17 17 12
2 1 6 23 22 16
3 2 3 jedenáct 9 6
4 3 1 12 9 8
5 4 5 24 dvacet patnáct
6 6 4 dvacet jedna patnáct jedenáct

Průměrná čekací doba = (12+16+6+8+15+11)/6 = 76/6 jednotek