Round Robin -aikataulu C-ohjelmoinnissa



Tämä artikkeli antaa sinulle yksityiskohtaisen ja kattavan tiedon siitä, miten Round Robin -aikataulu voidaan toteuttaa C-ohjelmoinnissa.

Tässä artikkelissa opitaan aikataulutusalgoritmista, jota kutsutaan round-robin-ajastuksen algoritmiksi, mikä on round-robin? Kuinka kirjoittaa ohjelma? Jne. Aloitetaan.

Mikä on Round Robin -aikataulu?

Round Robin Scheduling on ajoitusalgoritmi, jota järjestelmä käyttää suorittimen käytön ajastamiseen. Tämä on ennakoiva algoritmi. Kuhunkin kvanttiin kutsuttuun pyyntöön liittyy kiinteä aikaosuus. Työn ajastin tallentaa tällä hetkellä suoritettavan työn etenemisen ja siirtyy seuraavaan jonossa olevaan työhön, kun tietty prosessi suoritetaan tietylle aikakvantille.





Kierros Robin -aikataulu

ero lopullisen ja lopullisen välillä

Mikään prosessi ei pidä CPU: ta pitkään. Kytkentää kutsutaan kontekstikytkimeksi. Se on luultavasti yksi parhaista ajoitusalgoritmeista. Tämän algoritmin tehokkuus riippuu kvanttiarvosta.



PYÖRÄN RAJOITUKSEN ALGORITMI

  • Meillä on ensin jono, jossa prosessit järjestetään ensin tullutta palvellaan ensin -järjestyksessä.
  • Jokaisen prosessin suorittamiseksi varataan kvanttiarvo.
  • Ensimmäinen prosessi suoritetaan kvanttiarvon loppuun saakka. Tämän jälkeen muodostetaan keskeytys ja tila tallennetaan.
  • CPU siirtyy sitten seuraavaan prosessiin ja samaa menetelmää noudatetaan.
  • Samat vaiheet toistetaan, kunnes kaikki prosessit ovat ohi.

Harkitse esimerkkikoodia

#include int main () {int i, limit, total = 0, x, counter = 0, time_quantum int wait_time = 0, turnaround_time = 0, saapumisaika [10], sarjakuva [10], lämpötila [10] kelluva keskimääräinen odotusaika, keskimääräinen paluuaika printf ('nSyötä prosessien kokonaismäärä: t') scanf ('% d', & limit) x = raja (i = 0 i)0) {temp [i] = temp [i] - aika_kvantti yhteensä = yhteensä + aikakvantti} jos (temp [i] == 0 && laskuri == 1) {x-- printf ('nProsessi [% d] tt% dtt % dttt% d ', i + 1, purskeaika [i], yhteensä - saapumisaika [i], yhteensä - saapumisaika [i] - purskeinen aika [i]) odotusaika = odotusaika + yhteensä - saapumisaika [i] - purskeinen aika [i] läpimenoaika = läpimenoaika + yhteensä - saapumisaika [i] laskuri = 0} jos (i == raja - 1) {i = 0} muu jos (saapumisaika [i + 1]<= total) { i++ } else { i = 0 } } average_wait_time = wait_time * 1.0 / limit average_turnaround_time = turnaround_time * 1.0 / limit printf('nnAverage Waiting Time:t%f', average_wait_time) printf('nAvg Turnaround Time:t%fn', average_turnaround_time) return 0 }

LÄHTÖ:

SELITYS:

Yllä olevassa koodissa pyydämme käyttäjää syöttämään prosessien lukumäärän, saapumisajan ja purskeajan kullekin prosessille. Laskemme sitten odotusajan ja käännösajan round-robin-algoritmilla.

Pääosa tässä on laskea kääntymisaika ja odotusaika. Kääntymisaika lasketaan lisäämällä kokonaisaika ja vähentämällä saapumisaika.

java 9 sisältää esimerkkejä

Odotusaika lasketaan vähentämällä saapumisaika ja purskeaika kokonaismäärästä ja lisäämällä siihen odotusaika t0. Näin pyöreän jakson aikataulutus tapahtuu.



EDUT:

  • Alhainen yleiskustannus päätöksentekoon.
  • Toisin kuin muut algoritmit, se asettaa saman prioriteetin kaikille prosesseille.
  • Nälkää esiintyy harvoin tässä prosessissa.

HAITAT:

  • Järjestelmän tehokkuus heikkenee, jos kvanttiarvo on pieni, kun usein vaihdetaan.
  • Järjestelmästä voi tulla vastaamaton, jos kvanttiarvo on korkea.

Tämän avulla olemme päässeet tämän artikkelin loppuun.

Toivon, että löysit tämän informatiivisen ja hyödyllisen, pysy kuulolla lisää samankaltaisia ​​aiheita koskevia oppaita. Voit myös tutustua harjoitteluohjelmaamme to saada perusteellista tietoa jQuerystä ja sen eri sovelluksista, voit live-verkkokoulutukseen 24/7 tuella ja käyttöikä.Toteuta yllä oleva koodi erilaisilla merkkijonoilla ja muunnelmilla. Nyt meillä on hyvä käsitys kaikista osoittimeen liittyvistä keskeisistä käsitteistä.

miten käyttää charatia java

Onko sinulla kysymys meille? Mainitse ne tämän blogin kommenttiosassa ja palaamme sinuun.