Runde Robin planlægning i C programmering



Denne artikel giver dig en detaljeret og omfattende viden om, hvordan du implementerer Round Robin Scheduling i C-programmering.

I denne artikel lærer vi om planlægningsalgoritmen kaldet round-robin planlægningsalgoritme, hvad er round-robin? Hvordan man skriver et program? Osv. Lad os starte.

Hvad er Round Robin Scheduling?

Round Robin Scheduling er en planlægningsalgoritme, der bruges af systemet til at planlægge CPU-udnyttelse. Dette er en forebyggende algoritme. Der findes en fast tidsskive tilknyttet hver anmodning kaldet kvante. Jobplanlæggeren gemmer forløbet for det job, der udføres i øjeblikket, og flytter til det næste job, der er til stede i køen, når en bestemt proces udføres i et givet tidsrum.





Runde Robin Planlægning

Ingen proces holder CPU'en i lang tid. Skiftet kaldes en kontekstskift. Det er sandsynligvis en af ​​de bedste planlægningsalgoritmer. Effektiviteten af ​​denne algoritme afhænger af kvanteværdien.



RUND ROBINPLANLÆGNING AF ALGORITM

  • Vi har først en kø, hvor processerne er arrangeret i først til mølle rækkefølge.
  • En kvanteværdi tildeles til at udføre hver proces.
  • Den første proces udføres indtil slutningen af ​​kvanteværdien. Herefter genereres et afbrydelse, og tilstanden gemmes.
  • CPU'en flytter derefter til den næste proces, og den samme metode følges.
  • De samme trin gentages, indtil alle processerne er forbi.

Overvej 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 ('nIndtast det samlede antal processer: t') scanf ('% d', & grænse) x = grænse for (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, 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 - ankomsttid [i] tæller = 0} hvis (i == grænse - 1) {i = 0} ellers hvis (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 }

PRODUKTION:

FORKLARING:

I ovenstående kode beder vi brugeren om at indtaste antallet af processer og ankomsttid og bursttid for hver proces. Vi beregner derefter ventetiden og drejningstiden ved hjælp af round-robin-algoritmen.

forskel mellem hashmap og hashtable

Hoveddelen her er beregning af drejningstid og ventetid. Vendetid beregnes ved at tilføje den samlede tid, der er taget, og trække ankomsttiden.

Ventetiden beregnes ved at fratrække ankomsttiden og burst-tiden fra det samlede antal og tilføje det til ventetiden. Sådan finder round-robin planlægningen sted.



konvertere en streng til dato i java

FORDELE:

  • Lav overhead til beslutningstagning.
  • I modsætning til andre algoritmer giver det alle processer lige prioritet.
  • Sult forekommer sjældent i denne proces.

Ulemper:

  • Systemets effektivitet nedsættes, hvis kvanteværdien er lav, da hyppig omskiftning finder sted.
  • Systemet reagerer muligvis ikke, hvis kvanteværdien er høj.

Med dette kommer vi til slutningen af ​​denne artikel.

Jeg håber, du fandt dette informativt og hjælpsomt, hold øje med flere tutorials om lignende emner. Du kan også tjekke vores træningsprogram to få dybdegående viden om jQuery sammen med dens forskellige applikationer, det kan du til live online træning med support døgnet rundt og adgang til hele livet.Implementér ovenstående kode med forskellige strenge og ændringer. Nu har vi en god forståelse af alle nøglebegreber relateret til markøren.

Har du et spørgsmål til os? Nævn dem i kommentarfeltet på denne blog, så vender vi tilbage til dig.