La pianificazione round-robin è un algoritmo utilizzato per assistere nella creazione di pianificazioni di processi o lavori per garantire che ogni processo richiesto per completare un lavoro ottenga un’ampia quantità di tempo di esecuzione. Le CPU dei computer possono utilizzare il time slicing per fornire un determinato periodo di tempo per ogni processo da utilizzare per ciclo.
L’utilizzo della pianificazione round-robin assegna una porzione di tempo a ciascun processo in esecuzione. In un computer, ad esempio, l’utente avvia tre applicazioni, Email, un browser Web e un elaboratore di testi. Queste applicazioni vengono caricate nella memoria di sistema come processi e ciascuna può essere eseguita senza che l’utente consideri quali applicazioni sono in esecuzione in background.
La pianificazione round-robin gestisce la condivisione delle risorse tra i tre processi applicativi (e gli innumerevoli altri in esecuzione in background completamente invisibili all’utente). Questa pianificazione funziona bene perché ogni applicazione riceve una certa quantità di tempo per ciclo del processore. Un ciclo del processore è la quantità di tempo impiegata dalla CPU per gestire ogni processo in esecuzione, una volta.
Le applicazioni in esecuzione nell’esempio precedente forniscono un ciclo breve per il processore e più tempo sarebbe assegnato a ciascuno di questi tre processi, facendoli sembrare migliori per l’utente finale. Senza la pianificazione round robin, l’applicazione caricata per prima in memoria monopolizzerebbe probabilmente il processore fino al termine dell’esecuzione di una qualsiasi delle attività assegnate. Una volta chiusa l’applicazione, l’applicazione successiva potrebbe avviarsi ed essere elaborata senza interruzioni. Ciò ostacolerebbe gli ambienti multi-finestra da cui dipendono gli utenti di computer. L’uso della pianificazione round-robin aiuta il computer a stare al passo con l’utente finale ea gestire efficacemente tutti e tre i processi applicativi.
La pianificazione round-robin fa avanzare tutti i processi o i processi in esecuzione un po’ alla volta, durante ogni ciclo del processore, per aiutarli a funzionare tutti insieme e migliorare l’esperienza di usabilità per la persona che lavora con il sistema. La CPU eseguirà quindi il polling di ogni attività in esecuzione durante un ciclo per aiutare a determinare se il processo è terminato.
Supponiamo che l’utente decida di aver completato il proprio lavoro nell’applicazione di elaborazione testi e lo chiuda. Questo lascia in esecuzione solo le applicazioni di posta elettronica e browser web. La CPU non avrebbe modo di tenere traccia di questo fatto senza la pianificazione round-robin per interrogare le applicazioni e scoprire che l’elaboratore di testi si è chiuso e non ha più bisogno di tempo di elaborazione.