Bem-vindo ao Sistersinspirit.ca, onde você pode obter respostas confiáveis e rápidas com a ajuda de nossos especialistas. Junte-se à nossa plataforma de perguntas e respostas e obtenha respostas precisas para todas as suas dúvidas com profissionais de várias disciplinas. Conecte-se com uma comunidade de especialistas prontos para ajudar você a encontrar soluções para suas perguntas de maneira rápida e precisa.

Considere o programa abaixo escrito em linguagem C. No instante da execução da linha 5, ter-se-á uma hierarquia composta de quantos processos e threads, respectivamente? 1 main(){ 2 int i; 3 for(i=0;i<3;i++) 4 fork(); 5 while(1); 6 } 7 e 7 1 e 0 4 e 1 3 e 0 8 e 8

Sagot :

Resposta:

8 processos e 8 threads

Explicação:

A função fork() cria um novo processo filho concomitante ao processo pai. Tanto o processo pai como o processo filho irão executar a próxima instrução.

Observe que dentro do laço de repetição, teremos três chamadas seguidas que irá resultar na primeira chamada em 2, e na segunda os dois processos irão criar mais 2, e na terceira os 4 processos irão criar mais 4 processos, em progressão geométrica. No total, serão 8 processos com uma thread cada.

View image usuario858