Algoritmo de agendamento Round Robin com exemplo

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 passo a passo apenas em uma fila cรญclica por um intervalo de tempo limitado. Este algoritmo tambรฉm oferece execuรงรฃo de processos sem fome.

Caracterรญsticas do agendamento Round-Robin

Aqui estรฃo as caracterรญsticas importantes do agendamento Round-Robin:

  • Round robin รฉ um algoritmo preventivo
  • A CPU รฉ deslocada para o prรณximo processo apรณs um intervalo de tempo fixo, que รฉ chamado de quantum/fatia de tempo.
  • O processo interrompido รฉ adicionado ao final da fila.
  • Round robin รฉ um modelo hรญbrido movido por relรณgio
  • O intervalo de tempo deve ser mรญnimo, atribuรญdo a uma tarefa especรญfica que precisa ser processada. No entanto, pode diferir de sistema operacional para sistema operacional.
  • ร‰ um algoritmo em tempo real que responde ao evento dentro de um limite de tempo especรญfico.
  • Round robin รฉ um dos algoritmos mais antigos, justos e fรกceis.
  • Mรฉtodo de agendamento amplamente utilizado em sistemas operacionais tradicionais.

Exemplo de agendamento round-robin

Considere isto a seguir trรชs processos

Fila de Processo Tempo de explosรฃo
P1 4
P2 3
P3 5

Agendamento round-robin

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.

Agendamento round-robin

Etapa 2) No tempo =2, P1 รฉ adicionado ao final da Fila e P2 comeรงa a executar

Agendamento round-robin


Passo 3) Em time=4 , P2 รฉ preemptado e adicionado no final da fila. P3 comeรงa a executar.

Agendamento round-robin

Passo 4) Em time=6 , P3 รฉ preemptado e adicionado no final da fila. P1 comeรงa a executar.

Agendamento round-robin

Passo 5) Em time=8 , P1 tem um tempo de burst de 4. Ele concluiu a execuรงรฃo. P2 inicia execuรงรฃo

Agendamento round-robin

Passo 6) P2 tem tempo de burst de 3. Jรก foi executado por 2 intervalos. No tempo=9, P2 completa a execuรงรฃo. Entรฃo, P3 inicia a execuรงรฃo atรฉ terminar.

Agendamento round-robin

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

Vantagem do agendamento Round-robin

Aqui estรฃo os prรณs/benefรญcios do mรฉtodo de agendamento Round-robin:

  • Nรฃo enfrenta problemas de fome ou efeito de comboio.
  • Todos os trabalhos recebem uma alocaรงรฃo justa de CPU.
  • Lida com 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 intermitรชncia. ร‰ por isso que รฉ facilmente implementรกvel 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 use o mรฉtodo de alternรขncia de contexto para salvar estados de processos preemptados.
  • Oferece o melhor desempenho em termos de tempo mรฉdio de resposta.

Desvantagens do agendamento round-robin

Aqui estรฃo as desvantagens/contras do uso do agendamento Round-robin:

  • Se o tempo de fatiamento do sistema operacional for baixo, a saรญda do processador serรก reduzida.
  • Este mรฉtodo gasta mais tempo na troca de contexto
  • Seu desempenho depende muito do quantum do tempo.
  • Nรฃo รฉ possรญvel definir prioridades para os processos.
  • O agendamento round-robin nรฃo dรก prioridade especial a tarefas mais importantes.
  • Diminui a compreensรฃo
  • O quantum de tempo mais baixo resulta em maior sobrecarga de troca de contexto no sistema.
  • Encontrar um 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 รฉ trazida para a lista
  • st = denota o tempo de mudanรงa 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	
t,SR = sum of all execution times

Resumo

  • O nome desse algoritmo vem do princรญpio round-robin, onde cada pessoa recebe uma parte igual de algo por sua vez.
  • Round robin รฉ um dos algoritmos mais antigos, mais justos e mais fรกceis e um dos mรฉtodos de escalonamento amplamente utilizados no mercado tradicional. OS.
  • Round robin รฉ um algoritmo preventivo
  • A maior vantagem do mรฉtodo de agendamento round-robin รฉ que, 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 gasta mais tempo na troca de contexto
  • Latรชncia de pior caso รฉ um termo usado para designar o tempo mรกximo necessรกrio para a execuรงรฃo de todas as tarefas.

Resuma esta postagem com: