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.
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.
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.
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é.
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.
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é.
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.
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ý.
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.
Č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