GATE | GATE CS 2008 | Questão 66
Um processo executa o seguinte código
for (i = 0; i < n; i++) fork();
O número total de processos filhos criados é
(A) n
(B) 2 n - 1
(C) 2 n
(D) 2 (n + 1) - 1
Resposta: (B)
Explicação:
F0 // There will be 1 child process created by first fork / \ F1 F1 // There will be 2 child processes created by second fork / \ / \ F2 F2 F2 F2 // There will be 4 child processes created by third fork / \ / \ / \ / \ ............... // and so on
Se somarmos todos os níveis da árvore acima para i = 0 a n-1, teremos 2 n - 1. Portanto, haverá 2 n - 1 processos filho. Por outro lado, o número total de processos criados é (número de processos filhos) +1.
Nota: O número máximo de processos é 2 n e pode variar devido a falhas de bifurcação. Consulte também esta postagem para obter mais detalhes.
Aprenda todos os conceitos do GATE CS com aulas gratuitas ao vivo em nosso canal do youtube.
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