Round Robin-planning in C-programmering



Dit artikel geeft u een gedetailleerde en uitgebreide kennis van het implementeren van Round Robin Scheduling in C Programming.

In dit artikel zullen we leren over het planningsalgoritme dat round-robin-planningsalgoritme wordt genoemd, wat is round-robin? Hoe schrijf je een programma? Enz. Laten we beginnen.

Wat is Round Robin-planning?

Round Robin Scheduling is een planningsalgoritme dat door het systeem wordt gebruikt om het CPU-gebruik te plannen. Dit is een preventief algoritme. Er bestaat een vast tijdsegment dat is gekoppeld aan elk verzoek, het zogenaamde kwantum. De taakplanner slaat de voortgang op van de taak die momenteel wordt uitgevoerd en gaat naar de volgende taak die in de wachtrij staat wanneer een bepaald proces wordt uitgevoerd gedurende een bepaalde tijdsduur.





beste java ideaal voor beginners

Round Robin-planning

Geen enkel proces houdt de CPU lang vast. De omschakeling wordt een contextschakelaar genoemd. Het is waarschijnlijk een van de beste planningsalgoritmen. De efficiëntie van dit algoritme is afhankelijk van de kwantumwaarde.



ROND ROBIN PLANNING ALGORITME

  • We hebben eerst een wachtrij waar de processen zijn gerangschikt op volgorde van binnenkomst.
  • Een kwantumwaarde wordt toegewezen om elk proces uit te voeren.
  • Het eerste proces wordt uitgevoerd tot het einde van de kwantumwaarde. Hierna wordt een interrupt gegenereerd en wordt de toestand opgeslagen.
  • De CPU gaat vervolgens naar het volgende proces en dezelfde methode wordt gevolgd.
  • Dezelfde stappen worden herhaald totdat alle processen zijn voltooid.

Beschouw de voorbeeldcode

#include int main () {int i, limit, total = 0, x, counter = 0, time_quantum int wait_time = 0, turnaround_time = 0, arrival_time [10], burst_time [10], temp [10] float average_wait_time, average_turnaround_time printf ('nEnter Total Number of Processes: t') scanf ('% d', & limit) x = limiet voor (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], totaal - aankomsttijd [i], totaal - aankomsttijd [i] - burst_time [i]) wait_time = wachttijd + totaal - aankomsttijd [i] - burst_tijd [i] turnaround_time = turnaround_time + total - arrival_time [i] teller = 0} if (i == limit - 1) {i = 0} else if (arrival_time [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 }

UITGANG:

UITLEG:

In de bovenstaande code vragen we de gebruiker om het aantal processen en de aankomsttijd en burst-tijd voor elk proces in te voeren. Vervolgens berekenen we de wachttijd en de doorlooptijd met behulp van het round-robin-algoritme.

Het belangrijkste onderdeel hierbij is het berekenen van de doorlooptijd en de wachttijd. De omkeertijd wordt berekend door de totale tijd op te tellen en de aankomsttijd af te trekken.

De wachttijd wordt berekend door de aankomsttijd en bursttijd van het totaal af te trekken en bij de wachttijd op te tellen. Dit is hoe de round-robin-planning plaatsvindt.



VOORDELEN:

  • Lage overhead voor besluitvorming.
  • In tegenstelling tot andere algoritmen, geeft het gelijke prioriteit aan alle processen.
  • Verhongering komt zelden voor in dit proces.

NADELEN:

  • De efficiëntie van het systeem neemt af als de kwantumwaarde laag is omdat er vaak wordt geschakeld.
  • Het systeem reageert mogelijk niet meer als de kwantumwaarde hoog is.

Hiermee komen we aan het einde van dit artikel.

Ik hoop dat je dit informatief en nuttig vond, blijf op de hoogte voor meer tutorials over vergelijkbare onderwerpen. U kunt ook ons ​​trainingsprogramma t bekijkeno diepgaande kennis opdoen over jQuery samen met zijn verschillende toepassingen, dat kan voor live online training met 24/7 ondersteuning en levenslange toegang.Implementeer de bovenstaande code met verschillende strings en wijzigingen. Nu hebben we een goed begrip van alle sleutelconcepten met betrekking tot de aanwijzer.

hoe een willekeurige string in java te genereren

Heeft u een vraag voor ons? Noem ze in het commentaargedeelte van deze blog en we nemen zo snel mogelijk contact met je op.