logo

Príklad plánovania RR

V nasledujúcom príklade je šesť procesov pomenovaných ako P1, P2, P3, P4, P5 a P6. Ich čas príchodu a čas výbuchu sú uvedené nižšie v tabuľke. Časové kvantum systému sú 4 jednotky.

ID procesu Čas príchodu Burst Time
1 0 5
2 1 6
3 2 3
4 3 1
5 4 5
6 6 4

Podľa algoritmu musíme udržiavať pripravený front a Ganttov diagram. Štruktúra oboch dátových štruktúr sa po každom plánovaní zmení.

Pripravený front:

Spočiatku, v čase 0, prichádza proces P1, ktorý bude naplánovaný pre časový úsek 4 jednotky. Vo fronte pripravenosti teda bude len jeden proces P1 na začiatku s časom zhluku CPU 5 jednotiek.

P1
5

Ganttov diagram

P1 sa najskôr vykoná pre 4 jednotky.

os Príklad plánovania RR GANTT diagram

Pripravený front

Medzitým, čo sa vykonáva P1, štyri ďalšie procesy P2, P3, P4 a P5 prichádzajú do pripraveného radu. P1 ešte nie je dokončený, potrebuje ďalšiu 1 jednotku času, preto bude tiež zaradený späť do frontu pripravených.

P2 P3 P4 P5 P1
6 3 1 5 1

Ganttov diagram

Po P1 sa vykoná P2 počas 4 jednotiek času, čo je znázornené v Ganttovom diagrame.

os Príklad plánovania RR GANTT diagram 1

Pripravený front

Počas vykonávania P2 príde do frontu pripravený ešte jeden proces P6. Keďže P2 ešte nie je dokončený, P2 bude tiež pridaný späť do frontu pripravenosti so zostávajúcim časom zhluku 2 jednotiek.

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

Ganttov diagram

Po P1 a P2 sa P3 vykoná na 3 jednotky času, pretože čas spustenia CPU je iba 3 sekundy.

os Príklad plánovania RR GANTT diagram 2

Pripravený front

Keďže P3 bol dokončený, bude ukončený a nebude pridaný do frontu pripravených. Ďalší proces, ktorý sa vykoná, je P4.

P4 P5 P1 P6 P2
1 5 1 4 2

Ganttov diagram

Potom sa vykonajú P1, P2 a P3, P4. Jeho čas výbuchu je iba 1 jednotka, čo je menej ako časové kvantum, a preto bude dokončené.

os Príklad plánovania RR GANTT diagram 3

Pripravený front

Ďalším procesom vo fronte pripravenosti je P5 s 5 jednotkami zhlukového času. Keďže P4 je dokončený, nebude pridaný späť do fronty.

P5 P1 P6 P2
5 1 4 2

Ganttov diagram

P5 sa vykoná pre celý časový úsek, pretože vyžaduje 5 jednotiek zhlukového času, ktorý je vyšší ako časový úsek.

os Príklad plánovania RR GANTT diagram 4

Pripravený front

P5 ešte nie je dokončená; bude pridaný späť do frontu so zostávajúcim časom zhluku 1 jednotky.

P1 P6 P2 P5
1 4 2 1

Ganttov diagram

Proces P1 dostane ďalšie kolo na dokončenie jeho vykonania. Keďže to vyžaduje iba 1 jednotku času burstu, bude to dokončené.

os Príklad plánovania RR GANTT diagram 5

Pripravený front

P1 je dokončený a nebude pridaný späť do frontu pripravených. Ďalší proces P6 vyžaduje iba 4 jednotky zhlukového času a bude vykonaný ako ďalší.

P6 P2 P5
4 2 1

Ganttov diagram

P6 sa bude vykonávať počas 4 jednotiek času do dokončenia.

os Príklad plánovania RR GANTT diagram 6

Pripravený front

Keďže P6 je dokončený, nebude znova pridaný do frontu. V pripravenom fronte sú prítomné iba dva procesy. Ďalší proces P2 vyžaduje iba 2 jednotky času.

P2 P5
2 1

Ganttov diagram

P2 sa vykoná znova, pretože vyžaduje iba 2 jednotky času, a preto bude dokončený.

os Príklad plánovania RR GANTT diagram 7

Pripravený front

Teraz je jediným dostupným procesom vo fronte proces P5, ktorý vyžaduje 1 jednotku času zhluku. Keďže časový úsek má 4 jednotky, bude dokončený v ďalšom slede.

P5
1

Ganttov diagram

P5 sa vykoná až do dokončenia.

os Príklad plánovania RR GANTT diagram 8

Čas dokončenia, čas obratu a čas čakania sa vypočítajú tak, ako je uvedené v tabuľke nižšie.

Ako vieme,

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

ID procesu Čas príchodu Burst Time Čas dokončenia Turn Around Time Čas čakania
1 0 5 17 17 12
2 1 6 23 22 16
3 2 3 jedenásť 9 6
4 3 1 12 9 8
5 4 5 24 dvadsať pätnásť
6 6 4 dvadsaťjeden pätnásť jedenásť

Priemerný čas čakania = (12+16+6+8+15+11)/6 = 76/6 jednotiek