O que é a Programação Round-Robin?
O nome deste algoritmo vem do princípio round-robin, onde cada pessoa recebe uma parte igual de algo em turnos. É o mais antigo e mais simples algoritmo de agendamento, que é usado principalmente para multitarefas.
No agendamento de round-robin, cada tarefa pronta é executada por turnos apenas em uma fila cíclica por uma fatia de tempo limitado. Este algoritmo também oferece a execução de processos sem fome.
Neste tutorial do sistema operacional, você aprenderá:
- O que é a Programação de Robin Redondo?
- Características da programação de round-robin
- Exemplo de programação de round-robin
- Vantagem da programação de round-robin
- Desvantagens da programação de round-robin
- Latência do pior caso
Características da programação de round-robin
Aqui estão as características importantes da programação de round-robin:
- Round robin é um algoritmo preventivo
- A CPU é deslocada para o processo seguinte após um tempo de intervalo fixo, que é chamado de tempo quantum/tempo fatia de tempo.
- O processo que é preemptivo é adicionado ao fim da fila.
- Round robin é um modelo híbrido que é movido pelo relógio
- Time slice deve ser mínimo, que é atribuído para uma tarefa específica que precisa ser processada. Entretanto, ele pode diferir do SO para o SO.
- É 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 no SO tradicional.
Exemplo de arredondamento…Robin Scheduling
Considerar os três processos seguintes
fila de processos | Tempo de ruptura |
P1 | 4 |
P2 | 3 |
P3 | 5 |
Passo 1) A execução começa com o processo P1, que tem tempo de rebentar 4. Aqui, cada processo executa-se durante 2 segundos. P2 e P3 ainda estão na fila de espera.
Passo 2) No tempo =2, P1 é adicionado ao final da fila e P2 começa a executar
Passo 3) No tempo=4 , P2 é preemitido e adicionado no final da fila. P3 inicia a execução.
Passo 4) No momento=6 , P3 é preemitido e adicionado no final da fila. P1 inicia a execução.
Passo 5) Em time=8 , P1 tem um tempo de explosão de 4. Ele completou a execução. P2 inicia a execução
Passo 6) P2 tem um tempo de explosão de 3. Ele já executou por 2 intervalos. No tempo=9, P2 completa a execução. Em seguida, P3 inicia a execução até completar.
Passo 7) Vamos calcular o tempo médio de espera para o exemplo acima.
Wait time P1= 0+ 4= 4P2= 2+4= 6P3= 4+3= 7
Vantagem da Programação de Round-robin
Aqui, estão os prós/benefícios do método de programação de Round-robin:
- Não enfrenta os 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ê sabe o número total de processos na fila de execução, então você também pode assumir o pior caso de tempo de resposta para o mesmo processo.
- Este método de agendamento não depende do tempo de ruptura. É por isso que ele é facilmente implementável no sistema.
- Após um processo ser executado para um conjunto específico do período, o processo é preemptado, e outro processo é executado para aquele período de tempo dado.
- Permite ao SO usar o método de comutação de contexto para salvar estados de processos preemptados.
- Permite o melhor desempenho em termos de tempo médio de resposta.
Desvantagens da Programação de Round-robin
Aqui, são desvantagens/cons de usar a programação de Round-robin:
- Se o tempo de corte do SO for baixo, a saída do processador será reduzida.
- Este método gasta mais tempo na mudança de contexto
- O desempenho do processador depende muito do quantum de tempo.
- Não é possível definir prioridades para os processos.
- O agendamento de round-robin não dá prioridade especial a tarefas mais importantes.
- Diminui a compreensão
- Menos tempo quântico resulta em maior sobrecarga de mudança de contexto no sistema.
- Encontrar um quantum de tempo correto é uma tarefa bastante difícil neste sistema.
Pior latência de casos
Este termo é usado para o tempo máximo de execução de todas as tarefas.
- dt = Indica o tempo de detecção quando uma tarefa é trazida para a lista
- st = Indica o tempo de mudança de uma tarefa para outra
- et = Indica o tempo de execução da tarefa
Formula:
Tworst = {(dti+ sti + eti ), + (dti+ sti + eti )2 +...+ (dti+ sti + eti )N., + (dti+ sti + eti + eti) N} + tISRt,SR = sum of all execution times
Sumário:
- O nome deste algoritmo vem do princípio round-robin, onde cada pessoa recebe uma parte igual de algo em turnos.
- Round robin é um dos algoritmos mais antigos, justos e fáceis e métodos de agendamento amplamente utilizados nos sistemas operacionais tradicionais.
- Round robin é um algoritmo pré-emptivo
- A maior vantagem do método de agendamento de round-robin é que se você souber o número total de processos na fila de execução, então você também pode assumir o pior caso de tempo de resposta para o mesmo processo.
- Este método gasta mais tempo na mudança de contexto
- A latência de minúsculas é um termo usado para o tempo máximo necessário para a execução de todas as tarefas.