Paralelismo - Arquitetura de Computadores

Propaganda
Paralelismo - Arquitetura de Computadores
Desenvolva um programa em linguagem C, utilizando a primitiva fork( ), que:
1. Receba um número: $./fork <número>
Dica: argv[1]
2. Crie uma função para percorrer um conjunto de números randômicos de 0 a 100.000, e pare
a execução quando encontrar o número indicado em linha de comando;
Dica: rand() % 100.000;
3. Iniciar 3 processos filhos – cada processo filho deverá chamar essa função, e o primeiro
processo que encontrar o número solicitado irá retornar ao processo pai uma mensagem
dizendo que o número foi encontrado e pode encerrar a procura.
Dica: Utilizar um PIPE para realizar a comunicação entre processos
pipe(fd) >> write >> read
Exemplo de execução:
./procure 4
MSG: Criando o filho 3 - PID 1819.
MSG: Criando o filho 2 - PID 1818.
MSG: filho 2 achou o número 4.
MSG: Criando o filho 1 - PID 1817.
Download