Seuraavassa esimerkissä on kuusi prosessia nimeltä P1, P2, P3, P4, P5 ja P6. Niiden saapumisaika ja sarjakuvausaika on esitetty alla olevassa taulukossa. Järjestelmän aikakvantti on 4 yksikköä.
Prosessin tunnus | Saapumisaika | Burst Time |
---|---|---|
1 | 0 | 5 |
2 | 1 | 6 |
3 | 2 | 3 |
4 | 3 | 1 |
5 | 4 | 5 |
6 | 6 | 4 |
Algoritmin mukaan meidän on säilytettävä valmis jono ja Gantt-kaavio. Molempien tietorakenteiden rakennetta muutetaan jokaisen ajoituksen jälkeen.
Valmis jono:
Aluksi hetkellä 0 saapuu prosessi P1, joka ajoitetaan aikaviipaleelle 4 yksikköä. Näin ollen valmiusjonossa on vain yksi prosessi P1, joka alkaa CPU:n purskeajalla 5 yksikköä.
P1 |
5 |
Gantt-kaavio
P1 suoritetaan ensin 4 yksikölle.
päivämäärä merkkijonoksi
Valmis jono
Sillä välin, kun P1 suoritetaan, valmiusjonoon saapuu neljä muuta prosessia P2, P3, P4 ja P5. P1 ei ole vielä valmis, se vaatii vielä yhden aikayksikön, joten se lisätään myös takaisin valmiusjonoon.
P2 | P3 | P4 | P5 | P1 |
6 | 3 | 1 | 5 | 1 |
Gantt-kaavio
P1:n jälkeen P2 suoritetaan 4 aikayksikköä, joka näkyy Gantt-kaaviossa.
Valmis jono
P2:n suorituksen aikana valmiusjonoon saapuu vielä yksi prosessi P6. Koska P2 ei ole vielä valmis, P2 lisätään myös takaisin valmiusjonoon jäljellä olevan purskeajan ollessa 2 yksikköä.
P3 | P4 | P5 | P1 | P6 | P2 |
3 | 1 | 5 | 1 | 4 | 2 |
Gantt-kaavio
P1:n ja P2:n jälkeen P3 suoritetaan 3 aikayksikköä, koska sen suorittimen purskeaika on vain 3 sekuntia.
mysql luo käyttäjä
Valmis jono
Koska P3 on valmis, se lopetetaan eikä sitä lisätä valmiiseen jonoon. Seuraava prosessi suoritetaan P4.
P4 | P5 | P1 | P6 | P2 |
1 | 5 | 1 | 4 | 2 |
Gantt-kaavio
P1, P2 ja P3 jälkeen P4 suoritetaan. Sen purskeaika on vain 1 yksikkö, joka on pienempi kuin aikakvantti, joten se valmistuu.
Valmis jono
Seuraava prosessi valmiusjonossa on P5, jonka purskeaika on 5 yksikköä. Koska P4 on valmis, sitä ei lisätä takaisin jonoon.
P5 | P1 | P6 | P2 |
5 | 1 | 4 | 2 |
Gantt-kaavio
P5 suoritetaan koko aikaviipaleelle, koska se vaatii 5 yksikköä purskeaikaa, joka on korkeampi kuin aikaviipale.
Valmis jono
P5 ei ole vielä valmis; se lisätään takaisin jonoon jäljellä olevalla 1 yksikön purskeajalla.
tilauspuun läpikulku
P1 | P6 | P2 | P5 |
1 | 4 | 2 | 1 |
Gantt-kaavio
Prosessille P1 annetaan seuraava kierros sen suorittamiseksi loppuun. Koska se vaatii vain 1 yksikön purskeaikaa, se valmistuu.
Valmis jono
P1 on valmis, eikä sitä lisätä takaisin valmiusjonoon. Seuraava prosessi P6 vaatii vain 4 yksikköä purskeaikaa ja se suoritetaan seuraavaksi.
P6 | P2 | P5 |
4 | 2 | 1 |
Gantt-kaavio
P6 suoritetaan 4 aikayksikköä valmistumiseen asti.
Valmis jono
Koska P6 on valmis, sitä ei enää lisätä jonoon. Valmis jonossa on vain kaksi prosessia. Seuraava prosessi P2 vaatii vain 2 aikayksikköä.
P2 | P5 |
2 | 1 |
Gantt-kaavio
P2 suoritetaan uudelleen, koska se vaatii vain 2 aikayksikköä, joten tämä suoritetaan loppuun.
Valmis jono
Nyt ainoa käytettävissä oleva prosessi jonossa on P5, joka vaatii 1 purskeaikayksikön. Koska aikaviipale on 4 yksikköä, se valmistuu seuraavassa purskeessa.
bash lukea tiedosto
P5 |
1 |
Gantt-kaavio
P5 suoritetaan loppuun asti.
Valmistumisaika, läpimenoaika ja odotusaika lasketaan alla olevan taulukon mukaisesti.
Kuten tiedämme,
Turn Around Time = Completion Time - Arrival Time Waiting Time = Turn Around Time - Burst Time
Prosessin tunnus | Saapumisaika | Burst Time | Valmistumisaika | Kääntymisaika | Odotusaika |
---|---|---|---|---|---|
1 | 0 | 5 | 17 | 17 | 12 |
2 | 1 | 6 | 23 | 22 | 16 |
3 | 2 | 3 | yksitoista | 9 | 6 |
4 | 3 | 1 | 12 | 9 | 8 |
5 | 4 | 5 | 24 | kaksikymmentä | viisitoista |
6 | 6 | 4 | kaksikymmentäyksi | viisitoista | yksitoista |
Keskimääräinen odotusaika = (12+16+6+8+15+11)/6 = 76/6 yksikköä