Algoritmo di pianificazione Round Robin con esempio

Che cos'รจ la pianificazione Round-Robin?

Il nome di questo algoritmo deriva dal principio del round robin, secondo cui ogni persona riceve a turno una quota uguale di qualcosa. รˆ lโ€™algoritmo di pianificazione piรน vecchio e semplice, utilizzato principalmente per il multitasking.

Nella pianificazione Round-robin, ogni attivitร  pronta viene eseguita turno dopo turno solo in una coda ciclica per un intervallo di tempo limitato. Questo algoritmo offre anche un'esecuzione dei processi senza fame.

Caratteristiche della pianificazione Round-Robin

Ecco le caratteristiche importanti della pianificazione Round-Robin:

  • Il round robin รจ un algoritmo preventivo
  • La CPU passa al processo successivo dopo un intervallo di tempo fisso, chiamato quanto di tempo/fetta di tempo.
  • Il processo che viene interrotto viene aggiunto alla fine della coda.
  • Il Round Robin รจ un modello ibrido basato sull'orologio
  • L'intervallo di tempo dovrebbe essere minimo, assegnato per un'attivitร  specifica che deve essere elaborata. Tuttavia, potrebbe differire da sistema operativo a sistema operativo.
  • รˆ un algoritmo in tempo reale che risponde all'evento entro un limite di tempo specifico.
  • Il round robin รจ uno degli algoritmi piรน antichi, giusti e semplici.
  • Metodo di pianificazione ampiamente utilizzato nei sistemi operativi tradizionali.

Esempio di pianificazione round-robin

Considera i seguenti tre processi

Coda di elaborazione Tempo di scoppio
P1 4
P2 3
P3 5

Pianificazione round-robin

Passo 1) L'esecuzione inizia con il processo P1, che ha un tempo di burst 4. Qui ogni processo viene eseguito per 2 secondi. P2 e P3 sono ancora in coda d'attesa.

Pianificazione round-robin

Fase 2) Al tempo =2, P1 viene aggiunto alla fine della coda e P2 inizia l'esecuzione

Pianificazione round-robin


Passo 3) Al momento=4 , P2 viene anticipato e aggiunto alla fine della coda. P3 inizia l'esecuzione.

Pianificazione round-robin

Passo 4) Al momento=6 , P3 viene anticipato e aggiunto alla fine della coda. P1 inizia l'esecuzione.

Pianificazione round-robin

Passo 5) Al tempo=8, P1 ha un tempo di burst pari a 4. Ha completato l'esecuzione. P2 inizia l'esecuzione

Pianificazione round-robin

Passo 6) P2 ha un tempo di burst pari a 3. รˆ giร  stato eseguito per 2 intervalli. Al tempo=9, P2 completa l'esecuzione. Quindi, P3 inizia l'esecuzione fino al completamento.

Pianificazione round-robin

Passo 7) Calcoliamo il tempo medio di attesa per l'esempio sopra.

Wait time 
P1= 0+ 4= 4
P2= 2+4= 6
P3= 4+3= 7

Vantaggio della pianificazione round-robin

Ecco i vantaggi/vantaggi del metodo di pianificazione Round-robin:

  • Non affronta i problemi della fame o dellโ€™effetto convoglio.
  • Tutti i lavori ricevono una giusta allocazione di CPU.
  • Si occupa di tutto il processo senza alcuna prioritร 
  • Se conosci il numero totale di processi nella coda di esecuzione, puoi anche ipotizzare il tempo di risposta nel caso peggiore per lo stesso processo.
  • Questo metodo di pianificazione non dipende dal tempo di burst. Ecco perchรฉ รจ facilmente implementabile sul sistema.
  • Una volta che un processo viene eseguito per un determinato periodo di tempo, il processo viene anticipato e un altro processo viene eseguito per quel determinato periodo di tempo.
  • Consente al sistema operativo di utilizzare il metodo di cambio contesto per salvare gli stati dei processi con prelazione.
  • Offre le migliori prestazioni in termini di tempo medio di risposta.

Svantaggi della pianificazione round-robin

Ecco gli svantaggi/svantaggi dell'utilizzo della pianificazione Round-robin:

  • Se il tempo di slicing del sistema operativo รจ basso, l'output del processore verrร  ridotto.
  • Questo metodo dedica piรน tempo al cambio di contesto
  • Le sue prestazioni dipendono fortemente dal quanto temporale.
  • Non รจ possibile stabilire prioritร  per i processi.
  • La pianificazione round-robin non dร  una prioritร  speciale ai compiti piรน importanti.
  • Diminuisce la comprensione
  • Un quanto di tempo inferiore comporta un maggiore sovraccarico di commutazione del contesto nel sistema.
  • Trovare un quanto di tempo corretto รจ un compito piuttosto difficile in questo sistema.

Latenza nel caso peggiore

Questo termine viene utilizzato per il tempo massimo impiegato per l'esecuzione di tutte le attivitร .

  • dt = Indica il tempo di rilevamento quando un'attivitร  viene inserita nell'elenco
  • st = Indica il tempo di passaggio da un'attivitร  all'altra
  • et = indica il tempo di esecuzione dell'attivitร 

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

Sintesi

  • Il nome di questo algoritmo deriva dal principio del round robin, secondo cui ogni persona riceve a turno una quota uguale di qualcosa.
  • Il round robin รจ uno degli algoritmi piรน antichi, piรน equi e piรน semplici e un metodo di pianificazione ampiamente utilizzato in ambito tradizionale OS.
  • Il round robin รจ un algoritmo preventivo
  • Il piรน grande vantaggio del metodo di pianificazione round-robin รจ che se si conosce il numero totale di processi nella coda di esecuzione, รจ anche possibile presupporre il tempo di risposta nel caso peggiore per lo stesso processo.
  • Questo metodo dedica piรน tempo al cambio di contesto
  • La latenza nel caso peggiore รจ un termine utilizzato per il tempo massimo impiegato per l'esecuzione di tutte le attivitร .

Riassumi questo post con: