Efeito comboio em sistemas operacionais
Pré-requisitos: Noções básicas de escalonamento FCFS ( Programa para escalonamento FCFS | Conjunto 1 , Programa para escalonamento FCFS | Conjunto 2 )
O efeito comboio é um fenômeno associado ao algoritmo First Come First Serve (FCFS), no qual todo o sistema operacional fica lento devido a poucos processos lentos.
O algoritmo FCFS é de natureza não preemptiva, ou seja, uma vez que o tempo de CPU foi alocado para um processo, outros processos podem obter tempo de CPU somente após o processo atual ter terminado. Esta propriedade de escalonamento FCFS leva à situação chamada Efeito Convoy.
Suponha que haja um processo com uso intensivo de CPU (grande tempo de intermitência) na fila de prontidão e vários outros processos com tempos de intermitência relativamente menores, mas com limite de entrada / saída (E / S) (precisam de operações de E / S com frequência).
As etapas são as seguintes:
- Os processos vinculados a E / S recebem primeiro tempo de CPU alocado. Como são menos intensivos na CPU, eles são executados rapidamente e vão para as filas de E / S.
- Agora, o processo intensivo da CPU tem tempo de CPU alocado. Como o tempo de burst é alto, leva tempo para ser concluído.
- Enquanto o processo intensivo da CPU está sendo executado, os processos vinculados a E / S concluem suas operações de E / S e são movidos de volta para a fila pronta.
- No entanto, os processos vinculados a E / S são feitos para esperar, pois o processo intensivo da CPU ainda não foi concluído. Isso faz com que os dispositivos de E / S fiquem ociosos.
- Quando o processo intensivo da CPU termina, ele é enviado para a fila de E / S para que possa acessar um dispositivo de E / S.
- Enquanto isso, os processos vinculados a E / S obtêm seu tempo de CPU necessário e voltam para a fila de E / S.
- No entanto, eles são feitos para esperar porque o processo intensivo da CPU ainda está acessando um dispositivo de E / S. Como resultado, a CPU está ociosa agora .
Conseqüentemente, no Efeito Convoy, um processo lento diminui o desempenho de todo o conjunto de processos e leva ao desperdício de tempo da CPU e de outros dispositivos.
Para evitar o Efeito Convoy, algoritmos de programação preemptiva como Round Robin Scheduling podem ser usados - já que os processos menores não precisam esperar muito pelo tempo da CPU - tornando sua execução mais rápida e levando a menos recursos inativos.
Referências -
- A. Silberschatz, P. Galvin, G. Gagne, "Operating Systems Concepts (8th Edition)", Wiley India Unip. Ltd.
Este artigo é uma contribuição de Sanchit Agarwal . Se você gosta de GeeksforGeeks e gostaria de contribuir, você também pode escrever um artigo usando contribute.geeksforgeeks.org ou enviar o seu artigo para contribute@geeksforgeeks.org. Veja o seu artigo na página principal do GeeksforGeeks e ajude outros Geeks.
Escreva comentários se encontrar algo incorreto ou se quiser compartilhar mais informações sobre o tópico discutido acima.
As postagens do blog Acervo Lima te ajudaram? Nos ajude a manter o blog no ar!
Faça uma doação para manter o blog funcionando.
70% das doações são no valor de R$ 5,00...
Diógenes Lima da Silva