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.
Passo 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
Sommario
- 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à.