Round Robin Scheduling in C Programming



Denne artikkelen vil gi deg detaljert og omfattende kunnskap om hvordan du implementerer Round Robin Scheduling i C-programmering.

I denne artikkelen vil vi lære om planleggingsalgoritmen som kalles round-robin planleggingsalgoritme, hva er round-robin? Hvordan skriver jeg et program? Osv. La oss starte.

Hva er Round Robin Scheduling?

Round Robin Scheduling er en planleggingsalgoritme som brukes av systemet for å planlegge CPU-bruk. Dette er en forebyggende algoritme. Det finnes en fast tidsdel knyttet til hver forespørsel kalt quantum. Jobbplanleggeren lagrer fremdriften til jobben som utføres for øyeblikket, og går til neste jobb som er til stede i køen når en bestemt prosess utføres i et gitt tidskvantum.





Runde Robin Scheduling

forskjell mellom grensesnitt og klasse

Ingen prosess vil holde prosessoren i lang tid. Bytte kalles en kontekstbryter. Det er sannsynligvis en av de beste planleggingsalgoritmene. Effektiviteten til denne algoritmen avhenger av kvanteverdien.



RUND ROBINPLANLEGGING ALGORITM

  • Vi har først en kø der prosessene er ordnet i førstemann til mølla-rekkefølgen.
  • En kvanteverdi tildeles for å utføre hver prosess.
  • Den første prosessen utføres til slutten av kvanteverdien. Etter dette genereres et avbrudd og tilstanden lagres.
  • CPU går deretter til neste prosess, og samme metode følges.
  • De samme trinnene gjentas til alle prosessene er over.

Tenk på eksempelkoden

#include int main () {int i, limit, total = 0, x, counter = 0, time_quantum int ventetid = 0, turnaround_time = 0, ankomsttid [10], burst_time [10], temp [10] float average_wait_time, average_turnaround_time printf ('nEnter Totalt antall prosesser: t') scanf ('% d', & limit) x = limit for (i = 0 i0) {temp [i] = temp [i] - time_quantum total = total + time_quantum} if (temp [i] == 0 && counter == 1) {x-- printf ('nProsess [% d] tt% dtt % dttt% d ', i + 1, burst_time [i], total - ankomsttid [i], total - ankomsttid [i] - burst_time [i]) ventetid = ventetid + total - ankomsttid [i] - burst_time [i] turnaround_time = turnaround_time + total - arrival_time [i] counter = 0} if (i == limit - 1) {i = 0} else if (ankomsttid [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 }

PRODUKSJON:

FORKLARING:

I koden ovenfor ber vi brukeren om å oppgi antall prosesser og ankomsttid og bursttid for hver prosess. Vi beregner deretter ventetiden og snu tiden ved hjelp av round-robin-algoritmen.

Hoveddelen her er å beregne sving rundt tid og ventetid. Vendetid beregnes ved å legge til total tid og trekke ankomsttiden.

forskjell mellom abstrakt klasse og grensesnitt

Ventetiden beregnes ved å trekke ankomsttiden og burst-tiden fra totalen og legge den til ventetiden. Dette er hvordan rund-robin-planleggingen foregår.



FORDELER:

  • Lav overhead for beslutningstaking.
  • I motsetning til andre algoritmer, gir det alle prosesser like høy prioritet.
  • Sult forekommer sjelden i denne prosessen.

Ulemper:

  • Effektiviteten til systemet reduseres hvis kvantverdien er lav ettersom hyppig bytte finner sted.
  • Systemet kan ikke svare hvis kvanteverdien er høy.

Med dette kommer vi til en slutt på denne artikkelen.

Jeg håper du fant dette informativt og hjelpsomt. Følg med for flere opplæringsprogrammer om lignende emner. Du kan også sjekke ut treningsprogrammet vårt to få grundig kunnskap om jQuery sammen med de forskjellige applikasjonene du kan for live online trening med 24/7 support og levetidstilgang.Implementer koden ovenfor med forskjellige strenger og modifikasjoner. Nå har vi god forståelse av alle viktige begreper relatert til pekeren.

Fibra nummer c ++

Har du et spørsmål til oss? Nevn dem i kommentarfeltet til denne bloggen, så kommer vi tilbake til deg.