Programarea „round-robin” este un algoritm folosit pentru a ajuta la crearea programelor de proces sau de job, pentru a se asigura că fiecare proces necesar pentru a finaliza o lucrare are un timp de rulare suficient. CPU-urile din computere pot folosi time slicing pentru a oferi o anumită perioadă de timp pentru fiecare proces de utilizat pe ciclu.
Utilizarea programării round-robin alocă o porțiune de timp fiecărui proces care rulează. Într-un computer, de exemplu, utilizatorul pornește trei aplicații, e-mail, un browser web și un procesor de text. Aceste aplicații sunt încărcate în memoria sistemului ca procese și fiecăreia i se permite să ruleze fără ca utilizatorul să ia în considerare aplicațiile care rulează în fundal.
Programarea „round-robin” se ocupă de partajarea resurselor între cele trei procese de aplicație (și nenumăratele altele care rulează în fundal complet invizibile pentru utilizator). Această programare funcționează bine deoarece fiecare aplicație primește o anumită perioadă de timp pe ciclu de procesor. Un ciclu de procesor este timpul necesar procesorului pentru a gestiona fiecare proces care rulează, o dată.
Aplicațiile care rulează din exemplul anterior oferă un ciclu scurt pentru procesor și ar fi alocat mai mult timp fiecăruia dintre aceste trei procese, făcându-le să pară a fi mai performante pentru utilizatorul final. Fără programare round robin, aplicația încărcată prima în memorie ar monopoliza probabil procesorul până când acesta va termina de îndeplinit oricare dintre sarcinile care i-au fost atribuite. Când acea aplicație s-a închis, următoarea aplicație ar putea începe și procesa fără întrerupere. Acest lucru ar împiedica mediile cu mai multe ferestre de care au ajuns să depindă utilizatorii de computere. Utilizarea programării round-robin ajută computerul să țină pasul cu utilizatorul final și să gestioneze eficient toate cele trei procese de aplicare.
Programarea „round-robin” menține toate joburile sau procesele care rulează progresând puțin la un moment dat, în timpul fiecărui ciclu de procesor, pentru a le ajuta pe toate să funcționeze împreună și pentru a îmbunătăți experiența de utilizare pentru persoana care lucrează cu sistemul. Procesorul va interoga apoi fiecare sarcină care rulează în timpul unui ciclu pentru a determina dacă procesul s-a încheiat.
Să presupunem că utilizatorul decide că și-a încheiat munca în aplicația de procesare de text și o închide. Acest lucru lasă doar aplicațiile de e-mail și browser web în funcțiune. CPU nu ar avea cum să țină evidența acestui fapt fără o programare round-robin pentru a interoga aplicațiile și a descoperi că procesorul de text s-a închis și nu mai are nevoie de timp de procesor.