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 |
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.
Fase 2) Al tempo =2, P1 viene aggiunto alla fine della coda e P2 inizia l'esecuzione
Passo 3) Al momento=4 , P2 viene anticipato e aggiunto alla fine della coda. P3 inizia l'esecuzione.
Passo 4) Al momento=6 , P3 viene anticipato e aggiunto alla fine della coda. P1 inizia l'esecuzione.
Passo 5) Al tempo=8, P1 ha un tempo di burst pari a 4. Ha completato l'esecuzione. P2 inizia l'esecuzione
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.
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ร .







