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.

  • ๐Ÿ”„ Definiรงรฃo: Cada tarefa pronta รฉ executada em turnos durante um perรญodo de tempo fixo.
  • โฑ๏ธ Quantum temporal: A CPU alterna entre processos apรณs um intervalo fixo, o quantum de tempo.
  • โš–๏ธ Equidade: Cada processo recebe o mesmo tempo de CPU, evitando a falta de recursos.
  • ๐Ÿงฎ Preventivo: Um processo interrompido move-se para o final da fila.
  • โœ… Vantagens: Alocaรงรฃo justa, sem efeito de comboio, tempo de resposta previsรญvel.
  • โš ๏ธ Desvantagens: O desempenho depende do quantum de tempo e adiciona a sobrecarga da troca de contexto.

Algoritmo de agendamento Round Robin

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

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

Passo 2) No instante t = 2, P1 รฉ adicionado ao final da fila e P2 comeรงa a ser executado.

Agendamento round-robin

Passo 3) No instante t = 4, P2 รฉ preemptado e adicionado ao final da fila. P3 comeรงa a ser executado.

Agendamento round-robin

Passo 4) No instante t = 6, P3 รฉ preemptado e adicionado ao final da fila. P1 comeรงa a ser executado.

Agendamento round-robin

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.

Agendamento round-robin

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.

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

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

Perguntas Frequentes

O quantum de tempo, ou fatia de tempo, รฉ o tempo fixo de CPU que cada processo executa antes de ser interrompido. Um quantum muito grande comporta-se como o FCFS (primeiro a entrar, primeiro a sair); um quantum muito pequeno adiciona uma sobrecarga significativa de troca de contexto.

O algoritmo FCFS executa cada processo atรฉ a sua conclusรฃo na ordem de chegada e nรฃo รฉ preemptivo. O algoritmo Round Robin รฉ preemptivo: ele atribui a cada processo uma fatia de tempo fixa e percorre a fila em ciclos, melhorando o tempo de resposta e evitando que tarefas longas bloqueiem outras.

Porque cada processo รฉ colocado em uma fila cรญclica e recebe uma fatia de tempo fixa por sua vez. Nenhum processo รฉ ignorado ou atrasado indefinidamente, entรฃo cada um eventualmente recebe tempo de CPU, independentemente de sua duraรงรฃo ou ordem de chegada.

A inteligรชncia artificial e o aprendizado de mรกquina podem prever o comportamento dos processos e os padrรตes de carga de trabalho para ajustar as decisรตes de agendamento em tempo real. Em vez de uma polรญtica fixa, o sistema pode adaptar as prioridades e os intervalos de tempo dinamicamente, melhorando a utilizaรงรฃo da CPU, a taxa de transferรชncia e o tempo de resposta.

Sim. Os modelos de IA podem analisar tempos de execuรงรฃo anteriores e a carga do sistema para sugerir um quantum de tempo ideal e ajustรก-lo conforme as condiรงรตes mudam. Isso equilibra melhor a sobrecarga da troca de contexto com o tempo de resposta do que um รบnico valor fixo.

Resuma esta postagem com: