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

Programare turn-robin

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.

Programare turn-robin

Etapa 2) La momentul =2, P1 este adăugat la sfârșitul Cozii și P2 începe să se execute

Programare turn-robin


Pas 3) La momentul=4, P2 este preemptat și se adaugă la sfârșitul cozii. P3 începe să se execute.

Programare turn-robin

Pas 4) La momentul=6, P3 este preemptat și se adaugă la sfârșitul cozii. P1 începe să se execute.

Programare turn-robin

Pas 5) La time=8 , P1 are un timp de explozie de 4. Execuția sa încheiat. P2 începe execuția

Programare turn-robin

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ă.

Programare turn-robin

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.