Algoritmo de agendamento Round Robin com exemplo
โก Resumo Inteligente
O escalonamento Round-Robin รฉ o algoritmo preemptivo de CPU mais antigo e simples, onde cada processo pronto รฉ executado por um perรญodo de tempo fixo em uma fila cรญclica, garantindo uma execuรงรฃo justa e sem inaniรงรฃo para multitarefas.

O que รฉ agendamento Round-Robin?
O nome desse algoritmo vem do princรญpio round-robin, onde cada pessoa recebe uma parte igual de algo por sua vez. ร o algoritmo de agendamento mais antigo e simples, usado principalmente para multitarefa.
No escalonamento Round-Robin, cada tarefa pronta รฉ executada em sequรชncia, apenas em uma fila cรญclica, por um perรญodo de tempo limitado. Esse algoritmo tambรฉm oferece execuรงรฃo de processos sem risco de inaniรงรฃo.
Caracterรญsticas do agendamento Round-Robin
Aqui estรฃo as caracterรญsticas importantes do agendamento Round-Robin:
- Round robin รฉ um algoritmo preventivo.
- A CPU passa para o prรณximo processo apรณs um intervalo de tempo fixo, chamado quantum de tempo/fatia de tempo.
- O processo interrompido รฉ adicionado ao final da fila.
- O Round Robin รฉ um modelo hรญbrido que funciona com base em um relรณgio.
- O intervalo de tempo deve ser o mรญnimo necessรกrio para a execuรงรฃo de uma tarefa especรญfica. No entanto, esse valor pode variar de sistema operacional para sistema operacional.
- Trata-se de um algoritmo em tempo real que responde ao evento dentro de um limite de tempo especรญfico.
- O mรฉtodo Round Robin รฉ um dos algoritmos mais antigos, justos e fรกceis de usar.
- ร um mรฉtodo de agendamento amplamente utilizado em sistemas operacionais tradicionais.
Exemplo de agendamento round-robin
Considere os trรชs processos a seguir:
| Fila de Processo | Tempo de explosรฃo |
|---|---|
| P1 | 4 |
| P2 | 3 |
| P3 | 5 |
Passo 1) A execuรงรฃo comeรงa com o processo P1, que possui tempo de burst 4. Aqui, cada processo รฉ executado por 2 segundos. P2 e P3 ainda estรฃo na fila de espera.
Passo 2) No instante t = 2, P1 รฉ adicionado ao final da fila e P2 comeรงa a ser executado.
Passo 3) No instante t = 4, P2 รฉ preemptado e adicionado ao final da fila. P3 comeรงa a ser executado.
Passo 4) No instante t = 6, P3 รฉ preemptado e adicionado ao final da fila. P1 comeรงa a ser executado.
Passo 5) No instante t = 8, P1 tem um tempo de execuรงรฃo de 4. Sua execuรงรฃo foi concluรญda. P2 inicia a execuรงรฃo.
Passo 6) P2 tem um tempo de execuรงรฃo de 3. Ele jรก executou por 2 intervalos. No instante t = 9, P2 completa a execuรงรฃo. Entรฃo, P3 inicia a execuรงรฃo atรฉ sua conclusรฃo.
Passo 7) Vamos calcular o tempo mรฉdio de espera para o exemplo acima.
Wait time P1 = 0 + 4 = 4 P2 = 2 + 4 = 6 P3 = 4 + 3 = 7
Vantagens do Escalonamento Round-Robin
Aqui estรฃo as vantagens/benefรญcios do mรฉtodo de agendamento Round-robin:
- Nรฃo enfrenta os problemas da fome ou do efeito de comboio.
- Todos os trabalhos recebem uma alocaรงรฃo justa de CPU.
- Trata de todos os processos sem qualquer prioridade.
- Se vocรช souber o nรบmero total de processos na fila de execuรงรฃo, tambรฉm poderรก assumir o tempo de resposta do pior caso para o mesmo processo.
- Este mรฉtodo de agendamento nรฃo depende do tempo de execuรงรฃo. ร por isso que รฉ facilmente implementado no sistema.
- Depois que um processo รฉ executado por um determinado perรญodo de tempo, o processo รฉ preemptado e outro processo รฉ executado por esse determinado perรญodo de tempo.
- Permite que o sistema operacional utilize o mรฉtodo de troca de contexto para salvar o estado de processos interrompidos.
- Oferece o melhor desempenho em termos de tempo mรฉdio de resposta.
Desvantagens do agendamento round-robin
Aqui estรฃo as desvantagens/contras de usar o escalonamento Round-robin:
- Se o tempo de processamento do sistema operacional for baixo, a produรงรฃo do processador serรก reduzida.
- Este mรฉtodo dedica mais tempo ร troca de contexto.
- Seu desempenho depende muito do quantum do tempo.
- Nรฃo รฉ possรญvel definir prioridades para os processos.
- O agendamento em rodรญzio nรฃo dรก prioridade especial ร s tarefas mais importantes.
- Isso diminui a compreensรฃo.
- Um quantum de tempo menor resulta em uma sobrecarga maior de troca de contexto no sistema.
- Encontrar o quantum de tempo correto รฉ uma tarefa bastante difรญcil neste sistema.
Pior caso de latรชncia
Este termo รฉ utilizado para o tempo mรกximo necessรกrio para a execuรงรฃo de todas as tarefas.
- dt = Indica o tempo de detecรงรฃo quando uma tarefa รฉ adicionada ร lista
- st = Indica o momento de transiรงรฃo de uma tarefa para outra
- et = Indica o tempo de execuรงรฃo da tarefa
Fรณrmula:
Tworst = {(dti+ sti + eti ), + (dti+ sti + eti )2 +...+ (dti+ sti + eti )N., + (dti+ sti + eti + eti) N} + tISR
tISR = sum of all execution times







