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.