Algoritm de planificare Round Robin cu exemplu
Ce este programarea Round-Robin?
Numele acestui algoritm vine de la principiul round-robin, în care fiecare persoană primește pe rând o cotă egală din ceva. Este cel mai vechi, cel mai simplu algoritm de programare, care este folosit în principal pentru multitasking.
În planificarea Round-robin, fiecare sarcină gata rulează rând cu rând numai într-o coadă ciclică pentru o perioadă limitată de timp. Acest algoritm oferă, de asemenea, executarea proceselor fără înfometare.
Caracteristicile programării Round-Robin
Iată care sunt caracteristicile importante ale programării Round-Robin:
- Round robin este un algoritm preventiv
- CPU este mutat la următorul proces după un interval de timp fix, care se numește cuantum de timp/slice de timp.
- Procesul care este preemptat este adăugat la sfârșitul cozii.
- Round robin este un model hibrid care este condus de ceas
- Intervalul de timp ar trebui să fie minim, care este atribuit unei sarcini specifice care trebuie procesată. Cu toate acestea, poate diferi de OS la OS.
- Este un algoritm în timp real care răspunde la eveniment într-o anumită limită de timp.
- Round robin este unul dintre cei mai vechi, mai corecti și mai ușori algoritmi.
- Metodă de programare utilizată pe scară largă în sistemul de operare tradițional.
Exemplu de programare Round-Robin
Luați în considerare următoarele trei procese
Coada de procesare | Timp de explozie |
---|---|
P1 | 4 |
P2 | 3 |
P3 | 5 |
Pas 1) Execuția începe cu procesul P1, care are timpul de explozie 4. Aici, fiecare proces se execută timp de 2 secunde. P2 și P3 sunt încă în coada de așteptare.
Etapa 2) La momentul =2, P1 este adăugat la sfârșitul Cozii și P2 începe să se execute
Pas 3) La momentul=4, P2 este preemptat și se adaugă la sfârșitul cozii. P3 începe să se execute.
Pas 4) La momentul=6, P3 este preemptat și se adaugă la sfârșitul cozii. P1 începe să se execute.
Pas 5) La time=8 , P1 are un timp de explozie de 4. Execuția sa încheiat. P2 începe execuția
Pas 6) P2 are un timp de explozie de 3. S-a executat deja pentru 2 intervale. La momentul=9, P2 finalizează execuția. Apoi, P3 începe execuția până se termină.
Pas 7) Să calculăm timpul mediu de așteptare pentru exemplul de mai sus.
Wait time P1= 0+ 4= 4 P2= 2+4= 6 P3= 4+3= 7
Avantajul programării Round-Robin
Iată avantajele/beneficiile metodei de programare Round-robin:
- Nu se confruntă cu problemele de foamete sau efectul convoiului.
- Toate joburile primesc o alocare corectă a CPU.
- Se ocupă de toate procesele fără nicio prioritate
- Dacă cunoașteți numărul total de procese din coada de rulare, atunci puteți presupune și timpul de răspuns în cel mai rău caz pentru același proces.
- Această metodă de programare nu depinde de timpul de explozie. De aceea este ușor de implementat pe sistem.
- Odată ce un proces este executat pentru un anumit set al perioadei, procesul este anticipat și un alt proces se execută pentru acea perioadă de timp dată.
- Permite sistemului de operare să utilizeze metoda de comutare a contextului pentru a salva stările proceselor preemptate.
- Oferă cea mai bună performanță în ceea ce privește timpul mediu de răspuns.
Dezavantajele programării Round-Robin
Iată dezavantajele/dezavantajele utilizării programării Round-robin:
- Dacă timpul de tăiere al sistemului de operare este scăzut, ieșirea procesorului va fi redusă.
- Această metodă petrece mai mult timp comutării contextului
- Performanța sa depinde în mare măsură de cuantumul de timp.
- Nu pot fi stabilite priorități pentru procese.
- Programarea turn-robin nu acordă o prioritate specială sarcinilor mai importante.
- Scade înțelegerea
- Cuantumul de timp mai mic are ca rezultat o sarcină mai mare de schimbare a contextului în sistem.
- Găsirea unui cuantum de timp corect este o sarcină destul de dificilă în acest sistem.
Cel mai rău caz de latență
Acest termen este folosit pentru timpul maxim necesar pentru executarea tuturor sarcinilor.
- dt = Indică timpul de detectare când o sarcină este adusă în listă
- st = Indică timpul de comutare de la o sarcină la alta
- et = Indică timpul de execuție a sarcinii
Formula:
Tworst = {(dti+ sti + eti ), + (dti+ sti + eti )2 +...+ (dti+ sti + eti )N., + (dti+ sti + eti + eti) N} + tISR t,SR = sum of all execution times
Rezumat
- Numele acestui algoritm vine de la principiul round-robin, în care fiecare persoană primește pe rând o cotă egală din ceva.
- Round robin este unul dintre cei mai vechi, mai corecti și mai simpli algoritmi și metode de programare utilizate pe scară largă în tradiționale OS.
- Round robin este un algoritm preventiv
- Cel mai mare avantaj al metodei de planificare round-robin este că, dacă cunoașteți numărul total de procese din coada de rulare, atunci puteți presupune și timpul de răspuns în cel mai rău caz pentru același proces.
- Această metodă petrece mai mult timp comutării contextului
- Latența în cel mai rău caz este un termen folosit pentru timpul maxim necesar pentru execuția tuturor sarcinilor.