
removido
(usa Nenhuma)
Enviado em 17/07/2012 - 11:41h
Senhores da comunidade, não sou profissional da área de programação. Conheço C apenas para programação de eletrônica embarcada. Por tanto, solicito ajuda para a solução de um problema passado pelo meu professor de S.O. avançado de um curo de POS que estou frequantando. Segue o problema:
1. Fazer um programa em C que leia dois vetores X e Y de números reais (double) de um arquivo. Cada vetor tem 1000 elementos. O programa deve calcular a soma vetorial K = X+ Y em paralelo. Para tal, serão criados 4 processos, onde cada um irá fazer calculo para uma porção com 250 elementos, ou seja:
 O processo filho 0 calcula o resultados para os elementos de 0 a 249 do vetor K;
 O processo filho 1 calcula o resultados para os elementos de 250 a 499 do vetor K;
 O processo filho 2 calcula o resultados para os elementos de 500 a 749 do vetor K;
 O processo filho 3 calcula o resultados para os elementos de 750 a 999 do vetor K;
1.1. Generalizando, conforme exemplo dado em sala de aula: O processo filho i calcula os resultados para os elementos de i*250 a (i+1)*250;
1.2. O processo pai espera que todos os filhos terminem (usando a função wait) e imprime o resultado na tela;
1.3. Os vetores de entrada X e Y podem ser declarados normalmente. O vetor K deve ser criado usando as funções de memória compartilhada, conforme exemplo dado em sala de aula.
Agradeço antecipadamente.