logo

Esimerkki RR-aikataulusta

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
os RR-aikataulun esimerkki GANTT-kaavio

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.

os RR-aikataulun esimerkki GANTT-kaavio 1

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ä
os RR-aikataulun esimerkki GANTT-kaavio 2

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.

os RR -aikatauluesimerkki GANTT-kaavio 3

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.

os RR -aikatauluesimerkki GANTT-kaavio 4

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.

os RR-aikatauluesimerkki GANTT-kaavio 5

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.

os RR-aikataulun esimerkki GANTT-kaavio 6

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.

os RR-aikatauluesimerkki GANTT-kaavio 7

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.

os RR-aikatauluesimerkki GANTT-kaavio 8

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öä