SóProvas


ID
3339013
Banca
IDECAN
Órgão
UNIVASF
Ano
2019
Provas
Disciplina
Programação
Assuntos

Considere um sistema Linux Ubuntu versão 18.04.2 LTS para arquiteturas 64 bits. Dado o seguinte código fonte na linguagem C:

#include <stdio.h>
#include <unistd.h>
int main() {
int i;
for (i = 0; i < 4; i++) {
if (i % 2 == 0) {
fork();
}
}
return 0;
}

Assinale a alternativa que indica corretamente, incluindo o processo pai inicial, quantos processos são criados pelo programa mostrado no código após compilação com o compilador GCC e execução na linha de comando.

Alternativas
Comentários
  • Irei entrar no IF quando o "i" for 0 e 2.

    Quando for 0, o processo pai criará um processo filho e ambos continuarão desse ponto

    Quando for 1, cada um dos dois processos anteriores criará um processo filho, totalizando quatro processos

    Se tivesse mais uma rodada, ficariam 8, e assim por diante

    .

    Exemplo: https://www.geeksforgeeks.org/wp-content/uploads/forkPuzzle4.jpg