Round Robin planningsalgoritme met voorbeeld
โก Slimme samenvatting
Round-Robin Scheduling is het oudste en eenvoudigste preemptieve CPU-algoritme, waarbij elk gereed proces een vaste tijdsduur krijgt in een cyclische wachtrij. Dit zorgt voor een eerlijke uitvoering zonder uithongering bij multitasking.

Wat is Round-Robin-planning?
De naam van dit algoritme komt van het round-robin-principe, waarbij elke persoon om de beurt een gelijk deel van iets krijgt. Het is het oudste, eenvoudigste planningsalgoritme, dat vooral wordt gebruikt voor multitasking.
Bij round-robin-planning wordt elke gereedstaande taak om de beurt uitgevoerd in een cyclische wachtrij, gedurende een beperkte tijdsperiode. Dit algoritme biedt ook de mogelijkheid om processen niet uit te hongeren.
Kenmerken van Round-Robin-planning
Dit zijn de belangrijke kenmerken van Round-Robin Scheduling:
- Round robin is een preemptief algoritme.
- De CPU schakelt na een vast tijdsinterval, dat een tijdquantum of tijdssegment wordt genoemd, over naar het volgende proces.
- Het proces dat wordt onderdrukt, wordt aan het einde van de wachtrij toegevoegd.
- Round robin is een hybride model dat klokgestuurd is.
- De tijdsduur moet minimaal zijn en wordt toegewezen aan een specifieke taak die verwerkt moet worden. Deze kan echter per besturingssysteem verschillen.
- Het is een realtime-algoritme dat binnen een bepaalde tijdslimiet op de gebeurtenis reageert.
- Round robin is een van de oudste, eerlijkste en eenvoudigste algoritmes.
- Het is een veelgebruikte planningsmethode in traditionele besturingssystemen.
Voorbeeld van Round Robin-planning
Beschouw de volgende drie processen:
| Wachtrij verwerken | Burst-tijd |
|---|---|
| P1 | 4 |
| P2 | 3 |
| P3 | 5 |
Stap 1) De uitvoering begint met proces P1, dat burst-tijd 4 heeft. Hier wordt elk proces gedurende 2 seconden uitgevoerd. P2 en P3 staan โโnog in de wachtrij.
Stap 2) Op tijdstip t = 2 wordt P1 aan het einde van de wachtrij toegevoegd en begint P2 met de uitvoering.
Stap 3) Op tijdstip t = 4 wordt P2 onderbroken en aan het einde van de wachtrij toegevoegd. P3 begint met de uitvoering.
Stap 4) Op tijdstip t = 6 wordt P3 onderbroken en aan het einde van de wachtrij toegevoegd. P1 begint met de uitvoering.
Stap 5) Op tijdstip t = 8 heeft P1 een bursttijd van 4. De uitvoering is voltooid. P2 begint met de uitvoering.
Stap 6) P2 heeft een bursttijd van 3. Het heeft al 2 intervallen uitgevoerd. Op tijdstip 9 is de uitvoering van P2 voltooid. Daarna begint P3 met de uitvoering totdat deze is voltooid.
Stap 7) Laten we de gemiddelde wachttijd voor het bovenstaande voorbeeld berekenen.
Wait time P1 = 0 + 4 = 4 P2 = 2 + 4 = 6 P3 = 4 + 3 = 7
Voordelen van round-robin planning
Hieronder volgen de voordelen van de round-robin-planningsmethode:
- Het kent geen problemen zoals hongersnood of het effect van konvooien.
- Alle banen krijgen een eerlijke toewijzing van CPU.
- Het behandelt alle processen zonder prioriteit.
- Als u het totale aantal processen in de wachtrij kent, kunt u ook uitgaan van de slechtste responstijd voor hetzelfde proces.
- Deze planningsmethode is niet afhankelijk van de bursttijd. Daarom is deze eenvoudig te implementeren in het systeem.
- Zodra een proces voor een specifieke set van de periode is uitgevoerd, wordt het proces voorrang gegeven en wordt een ander proces gedurende die bepaalde periode uitgevoerd.
- Hiermee kan het besturingssysteem de contextwisselmethode gebruiken om de status van onderbroken processen op te slaan.
- Het geeft de beste prestaties in termen van gemiddelde responstijd.
Nadelen van Round Robin-planning
Hieronder volgen de nadelen van het gebruik van round-robin-planning:
- Als de slice-tijd van het besturingssysteem laag is, zal de processoroutput lager zijn.
- Deze methode besteedt meer tijd aan het wisselen tussen contexten.
- De prestaties ervan zijn sterk afhankelijk van het tijdkwantum.
- Er kunnen geen prioriteiten worden gesteld aan de processen.
- Bij round-robin-planning worden belangrijkere taken niet extra prioriteit gegeven.
- Het vermindert het begrip.
- Een lagere tijdskwantumwaarde resulteert in hogere overheadkosten voor contextwisseling in het systeem.
- Het vinden van het juiste tijdquantum is in dit systeem een โโbehoorlijk lastige opgave.
Latentie in het slechtste geval
Deze term wordt gebruikt voor de maximale tijd die nodig is voor het uitvoeren van alle taken.
- dt = Geeft de detectietijd aan waarop een taak aan de lijst wordt toegevoegd.
- st = Geeft de overschakeltijd van de ene taak naar de andere aan.
- et = Geeft de uitvoeringstijd van de taak aan
Formule:
Tworst = {(dti+ sti + eti ), + (dti+ sti + eti )2 +...+ (dti+ sti + eti )N., + (dti+ sti + eti + eti) N} + tISR
tISR = sum of all execution times







