Junior Polegato - Linux escreveu: > Miguel Da Silva - Centro de Matemática escreveu: >> O kernel vai distribuir os processos nos processadores (bruta >> retundância) segundo o algorítmo que ele tem para isso. Um kernel SMP >> será capaz de distribuir processos entre os núcleos/processadores. Até >> aqui estamos de acordo. >> > > Desculpe Miguel, mas não compreendo o significado de retundância, o que > seria isso?
Isso seria um erro meu ao digitar a palabra "redundância". Dava para entender que eu quis dizer "redundância", né? > >> Entretanto, o que o kernel não faz (não é o trabalho dele fazer isso) é >> que os processos sejam capazes de usar mais de um processador/núcleo >> para que sejam processados. Isso é trabalho do processo em sí, aliás, o >> programador tem que ser capaz de criar um programa que possa fazer essa >> "paralelização". >> Alguns processos que venham a ser criados por outro processo poderiam >> ser processados em outro núcleo/processador com menor carga. Entretanto, >> o processo como um todo "se mantem" no mesmo núcleo/processador. >> > > Aqui você está errado, um processo pode mudar de núcleo. Acompanhe: > http://bazar2.conectiva.com.br/pipermail/linux-br/2007-December/045359.html Claro que pode mudar de núcleo/processador. Funciona parecido a um cluster, entretanto muda o "processo inteiro". >> Já faz um tempinho que estou trabalhando com PC's de mais de 1 núcleo >> (em casa, no trabalho ou na universidade) e pude conversar sobre esse >> assunto com companheiros de trabalho, de sala de aula, professores, etc >> e tal. A conslusão é mais ou menos a mesma... é muito difícil fazer >> software para processamento paralelo real. >> > > Praticamente todos os processos "servidores" usam processamento > paralelo. Basta fazer uso de threads ou fork, ou ainda system, que terá > paralelismo, nada muito complicado. O que muda é apenas o fato disparar > vários processos e esperar para colher o resultado de cada um para que > funcione em paralelo e tenha um controle centralizado, sendo que > enquanto espera o resultado pode realizar uma operação de > interatividade, como barra de porcentagem concluída, por exemplo, mas > isso vai de cada programador. > Bem, aqui já entrariamos num campo que realmente não domino muito, além do mais esta discussão dá muito pano para a manga. Deixo os seguintes links: 1) http://en.wikipedia.org/wiki/Parallel_computing 2) http://www.nytimes.com/2007/12/17/technology/17chip.html?_r=2&th=&adxnnl=1&oref=slogin&emc=th&adxnnlx=1197896596-6ahmrtd1OERgdl8MTmUI/w&oref=slogin São bem básicos e introdutórios (um inclusive termina fazendo um pouco de propaganda para a Microsoft), mas é um bom começo. Dado que há vários especialistas (alguns com 20 ou 30 anos de computação), não me atreveria a dizer que "basta fazer uso de threads ou forks". Mas então, é isso aí. -- Miguel Da Silva Administrador de Red Centro de Matemática - http://www.cmat.edu.uy Facultad de Ciencias - http://www.fcien.edu.uy Universidad de la República - http://www.rau.edu.uy -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]