Načrtovanje Round Robin v programiranju C



Ta članek vam bo zagotovil podrobno in izčrpno znanje o tem, kako izvajati načrtovanje Round Robin v programiranju C.

V tem članku bomo spoznali algoritem razporejanja, imenovan algoritem razporejanja okroglih robinov, kaj je krog robin? Kako napisati program? Itd začnimo.

pretvori dvojno v celo število v javi

Kaj je načrtovanje krožnega robina?

Round Robin Scheduling je algoritem za razporejanje, ki ga sistem uporablja za načrtovanje uporabe CPU. To je preventivni algoritem. Obstaja določena časovna rezina, povezana z vsako zahtevo, imenovano kvant. Načrtovalnik opravil shrani napredek opravila, ki se trenutno izvaja, in se premakne na naslednje opravilo, ki je prisotno v čakalni vrsti, ko se določen postopek izvede za določen časovni kvantum.





Razpored okroglega robina

Noben postopek ne bo dolgo zadrževal procesorja. Preklapljanje se imenuje kontekstno stikalo. Verjetno je to eden najboljših algoritmov za načrtovanje. Učinkovitost tega algoritma je odvisna od kvantne vrednosti.



ALGORITEM OKROGLJEGA NAČRTOVANJA

  • Najprej imamo čakalno vrsto, kjer so procesi razvrščeni po vrstnem redu, ki pride prvi.
  • Za izvedbo vsakega procesa je dodeljena kvantna vrednost.
  • Prvi postopek se izvaja do konca kvantne vrednosti. Po tem se ustvari prekinitev in stanje se shrani.
  • Nato se CPU premakne na naslednji postopek in sledi isti metodi.
  • Isti koraki se ponavljajo, dokler se vsi procesi ne končajo.

Upoštevajte primer kode

#include int main () {int i, limit, total = 0, x, counter = 0, time_quantum int wait_time = 0, turnaround_time = 0, prihoda_časa [10], burst_time [10], temp [10] float average_wait_time, average_turnaround_time printf ('nVpiši skupno število procesov: t') scanf ('% d' & & limit) x = omejitev za (i = 0 i0) {temp [i] = temp [i] - time_quantum total = total + time_quantum} if (temp [i] == 0 && counter == 1) {x-- printf ('nProcess [% d] tt% dtt % dttt% d ', i + 1, čas eksplozije [i], skupno - čas_prihoda [i], skupno - čas prihoda_i [i] - čas eksplozije [i]) wait_time = čas čakanja + skupaj - čas_prihoda [i] - čas eksplozije [i] = čas_okreta + skupno - čas_prihoda [i] števec = 0} če (i == omejitev - 1) {i = 0} sicer če (čas prihoda_i [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 }

IZHOD:

POJASNILO:

V zgornji kodi uporabnika prosimo, da za vsak postopek vnese število procesov ter čas prihoda in čas porušitve. Nato izračunamo čakalno dobo in čas obračanja z uporabo algoritma round-robin.

Glavni del tukaj je izračun časa obračanja in čakalne dobe. Čas obračanja se izračuna tako, da sešteje skupni porabljeni čas in odšteje čas prihoda.

Čakalni čas se izračuna tako, da se od skupnega odšteje čas prihoda in čas porušitve ter mu doda t0 čakalni čas. Tako poteka časovno razporejanje.



PREDNOSTI:

  • Nizka režija za odločanje.
  • Za razliko od drugih algoritmov daje enako prednost vsem procesom.
  • V tem procesu se redko pojavi stradanje.

POMANJKLJIVOSTI:

  • Učinkovitost sistema se zmanjša, če je kvantna vrednost nizka, saj prihaja do pogostega preklapljanja.
  • Sistem je lahko neodziven, če je kvantna vrednost visoka.

S tem smo prišli do konca tega članka.

primer statičnega bloka v javi

Upam, da se vam je to zdelo informativno in koristno, spremljajte še več vaj o podobnih temah. Ogledate si lahko tudi naš program usposabljanja to lahko pridobite poglobljeno znanje o jQueryju in njegovih različnih aplikacijah za spletno usposabljanje v živo s podporo 24 ur na dan in 7 dni v tednu.Zgornjo kodo izvedite z različnimi nizi in spremembami. Zdaj dobro razumemo vse ključne koncepte, povezane s kazalcem.

Imate vprašanje za nas? Omenite jih v oddelku za komentarje tega spletnega dnevnika in javili se vam bomo.