[FUG-BR] FreeBSD desaparecendo com um núcleo na CPU

Otacílio otacilio.neto em bsd.com.br
Sexta Novembro 9 13:23:33 BRST 2012


On 09/11/2012 12:15, Rodrigo Mosconi wrote:
> Em 9 de novembro de 2012 13:12, Otacílio <otacilio.neto em bsd.com.br> escreveu:
>> On 09/11/2012 12:04, Rodrigo Mosconi wrote:
>>>>
>>>>         if(limite_superior >= 1){
>>>>                 fprintf(stdout,"%d eh primo\n", 1);
>>>>                 fflush(stdout);
>>>>         }
>>>
>>> Há um erro conceitual: 1 não é primo, nem composto
>>>
>>>>         if(limite_superior >= 2){
>>>>                 fprintf(stdout,"%d eh primo\n", 2);
>>>>                 fflush(stdout);
>>>>         }
>>>>
>>>>         //Vamos criar os processos reponsáveis por encontrar os números
>>>>         for(i=0; i<processos; i++){
>>>>                 //Vamos fazer o fork do processo
>>>>                 if(!fork()){
>>>>                         //Processo filho entra aqui
>>>>                         for(j=3+2*i; j<=limite_superior; j+=passo){
>>>>                                 if(eh_primo(j)){
>>>>                                         fprintf(stdout,"%d eh primo\n", j);
>>>>                                 }
>>>>                         }
>>>>                         exit(0);
>>>
>>> como vc poderia usar o crivo de erastótenes para ignorar os múltiplos
>>> de primos já obtidos.
>>
>>
>> É, mas a idéia é mostrar que para um problema grande eu posso usar
>> múltiplos processos na solução, que será bem mais rápida em uma máquina
>> com múltiplas CPUs. Se eu sair usando muitos atalhos não vai ficar tão
>> óbvia a vantagem de múltiplos processos.
>>
>> O erro conceitual será corrigido na versão 2.0.
>>
> O uso do crivo seria um exemplo de como usar uma área de memória
> compartilhada entre processos ou threads
> É um problema de exclusão mútua num bitmap
> -------------------------

É, mas se você misturar um monte de conceito de uma vez só os alunos tem
uma tendência de olharem para o problema como algo muito difícil. Melhor
ir aos poucos.



Mais detalhes sobre a lista de discussão freebsd