O efeito comboio na programação de processos

6

Pelo que entendi o efeito comboio , no contexto do tráfego de veículos em um sistema rodoviário. Um grupo de veículos em movimento lento passa pelo sistema, diminuindo o tráfego, mesmo em áreas que não foram diretamente afetadas pelo comboio.

Como isso se aplica no contexto do agendamento da CPU? Não parece ser uma situação análoga.

jsj
fonte
11
Você leu o artigo da Wikipedia ? Qual das informações não entende?
Raphael
@Raphael ahh, obrigado, eu não tinha visto isso
jsj
11
Se sua pergunta for respondida pelo artigo, poste aqui uma resposta automática.
Raphael

Respostas:

8

O efeito Comboio é o resultado do uso do algoritmo de agendamento FCFS (Primeiro a chegar, primeiro a servir). Nesse caso, o despachante (programação de curto prazo) alimenta os processos presentes no estado pronto para o processador da maneira FIFO. Essa é basicamente uma implementação simples do Queue. Os processos que chegam primeiro usam o processador primeiro.

Como implementa a política não preventiva , o que significa que, uma vez iniciado o processo, ele não será interrompido, a menos que conclua sua tarefa ou seja bloqueado pelo SO devido a algum erro fatal ou necessidade de E / S, obstrua os processos atrás de si. Se um processo intenso da CPU for executado, vários processos intensos de E / S não serão despachados. Nesse caso, os dispositivos de E / S estão ociosos . Quando o processo intenso da CPU renuncia ao controle, os processos vinculados de E / S passam rapidamente pela CPU, adicionando nas filas de E / S. Durante esse período, a CPU está ociosa .

Como você pode ver, esse método não é muito eficiente, pois os dispositivos de CPU e de E / S ficam ociosos por um longo tempo. Além disso, esse método geralmente oferece um tempo médio de espera muito alto.

O efeito é análogo ao exemplo de tráfego. Por causa de veículos em movimento lento , o sistema de tráfego está se tornando ineficiente. Os veículos que podem se mover mais rápido e chegar ao seu destino (semelhante ao estado de saída de um processo) mais rapidamente do que os veículos em movimento lento à sua frente não são capazes de fazer isso. Se esses veículos pudessem se mover em sua velocidade potencial, a estrada ficaria menos congestionada do que a que é nesse caso. Os veículos são análogos aos processos na fila pronta.

Ugnes
fonte
9

O agendamento do FCFS (primeiro a chegar, primeiro a ser servido) também pode causar o bloqueio de um sistema dinâmico ocupado de outra maneira, conhecido como efeito comboio.

Quando um processo intensivo da CPU bloqueia a CPU, é possível fazer backup de vários processos intensivos de E / S, deixando os dispositivos de E / S ociosos. Quando o porco da CPU finalmente deixa a CPU, os processos de E / S passam rapidamente pela CPU, deixando a CPU ociosa enquanto todos fazem fila para a E / S e, em seguida, o ciclo se repete quando o processo intensivo da CPU volta ao estado pronto. fila.

Giz de cera congelado
fonte
Outro tipo de efeito comboio pode ocorrer ao usar o FCFS, se uma tarefa longa bloquear todos os outros. - - - [editar proposta proposta há 1 hora por um usuário anônimo]
babou
4

Em um sistema de multiprogramação, se vários processos aguardam a CPU para execução em um sistema FCFS, e um processo de processamento lento está utilizando a CPU, devido ao comboio, todos os processos rápidos que aguardam a CPU aguardam desnecessariamente por muito tempo. Este é o efeito comboio.

ARNAB PRADHAN
fonte
2
Por favor, não grite.
Vonbrand
1

no FCFS, se o primeiro processo tiver um tempo de serviço grande do que outros processos com tempo de serviço menor, isso levará a um aumento no tempo médio de espera, o que não acontecerá se no mesmo primeiro processo de tempo de serviço mais curto for atendido primeiro e, em seguida, se o processo tiver um grande tempo de serviço, resultará em menor tempo médio de espera do que no primeiro caso acima, quando estivermos executando o processo com um tempo maior de serviço. é denominado como efeito comboio.

akay
fonte