U sljedećem primjeru postoji šest procesa nazvanih P1, P2, P3, P4, P5 i P6. Njihovo vrijeme dolaska i vrijeme praska dani su dolje u tablici. Vremenski kvant sustava je 4 jedinice.
ID procesa | Vrijeme dolaska | Vrijeme pucanja |
---|---|---|
1 | 0 | 5 |
2 | 1 | 6 |
3 | 2 | 3 |
4 | 3 | 1 |
5 | 4 | 5 |
6 | 6 | 4 |
Prema algoritmu, moramo održavati spremni red čekanja i gantogram. Struktura obje strukture podataka bit će promijenjena nakon svakog rasporeda.
Spremni red:
U početku, u trenutku 0, dolazi proces P1 koji će biti raspoređen za jedinicu vremenskog odsječka 4. Stoga će u redu čekanja biti samo jedan proces P1 pri pokretanju s CPU burst time 5 jedinica.
P1 |
5 |
gantogram
P1 će se prvo izvršiti za 4 jedinice.
spajanje nizova java
Red čekanja
U međuvremenu izvršenje P1, još četiri procesa P2, P3, P4 i P5 stižu u red čekanja. P1 još nije dovršen, potrebna mu je još 1 jedinica vremena pa će također biti dodan natrag u red spremanja.
P2 | P3 | P4 | P5 | P1 |
6 | 3 | 1 | 5 | 1 |
gantogram
Nakon P1, P2 će se izvršiti 4 jedinice vremena što je prikazano u Ganttovoj dijagramu.
Red čekanja
Tijekom izvođenja P2, još jedan proces P6 stiže u red čekanja. Budući da P2 još nije dovršen, P2 će također biti dodan natrag u red čekanja za spremanje s preostalim vremenom bursta od 2 jedinice.
P3 | P4 | P5 | P1 | P6 | P2 |
3 | 1 | 5 | 1 | 4 | 2 |
gantogram
Nakon P1 i P2, P3 će se izvršiti 3 jedinice vremena budući da je njegovo CPU burst vrijeme samo 3 sekunde.
primjeri java koda
Red čekanja
Budući da je P3 dovršen, stoga će biti prekinut i neće biti dodan u red spremanja. Sljedeći proces koji će se izvršiti je P4.
P4 | P5 | P1 | P6 | P2 |
1 | 5 | 1 | 4 | 2 |
gantogram
Nakon toga, P1, P2 i P3, P4 će se izvršiti. Njegovo vrijeme praska je samo 1 jedinica što je manje od kvantuma vremena pa će stoga biti dovršen.
Red čekanja
Sljedeći proces u redu čekanja je P5 sa 5 jedinica burst time. Budući da je P4 dovršen, neće biti dodan natrag u red čekanja.
P5 | P1 | P6 | P2 |
5 | 1 | 4 | 2 |
gantogram
P5 će se izvršiti za cijeli vremenski odsječak jer zahtijeva 5 jedinica burst vremena koje je više od vremenskog odsječka.
Red čekanja
P5 još nije dovršen; bit će dodan natrag u red s preostalim vremenom praska od 1 jedinice.
ažuriranje u sql-u s pridruživanjem
P1 | P6 | P2 | P5 |
1 | 4 | 2 | 1 |
GANTT dijagram
Proces P1 će dobiti sljedeći red da dovrši svoje izvršenje. Budući da zahtijeva samo 1 jedinicu vremena praska, bit će dovršen.
Red čekanja
P1 je dovršen i neće biti dodan natrag u red čekanja spremnih. Sljedeći proces P6 zahtijeva samo 4 jedinice burst vremena i bit će sljedeći izvršen.
P6 | P2 | P5 |
4 | 2 | 1 |
gantogram
P6 će se izvršavati 4 jedinice vremena do završetka.
Red čekanja
Budući da je P6 dovršen, stoga se neće ponovno dodati u red čekanja. Postoje samo dva procesa prisutna u redu čekanja. Sljedeći proces P2 zahtijeva samo 2 jedinice vremena.
P2 | P5 |
2 | 1 |
GANTT dijagram
P2 će se ponovno izvršiti, budući da zahtijeva samo 2 jedinice vremena pa će ovo biti dovršeno.
Red čekanja
Sada je jedini dostupan proces u redu čekanja P5 koji zahtijeva 1 jedinicu burst vremena. Budući da se vremenski odsječak sastoji od 4 jedinice, bit će dovršen u sljedećem nizu.
karte java
P5 |
1 |
gantogram
P5 će se izvršavati do završetka.
Vrijeme završetka, vrijeme obrade i vrijeme čekanja izračunat će se kao što je prikazano u tablici u nastavku.
Kao što znamo,
Turn Around Time = Completion Time - Arrival Time Waiting Time = Turn Around Time - Burst Time
ID procesa | Vrijeme dolaska | Vrijeme pucanja | Vrijeme završetka | Vrijeme obrade | Vrijeme čekanja |
---|---|---|---|---|---|
1 | 0 | 5 | 17 | 17 | 12 |
2 | 1 | 6 | 23 | 22 | 16 |
3 | 2 | 3 | jedanaest | 9 | 6 |
4 | 3 | 1 | 12 | 9 | 8 |
5 | 4 | 5 | 24 | dvadeset | petnaest |
6 | 6 | 4 | dvadeset i jedan | petnaest | jedanaest |
Prosječno vrijeme čekanja = (12+16+6+8+15+11)/6 = 76/6 jedinica