Dúvida de compra: Samsung 305E4A-AD1 ou Samsung 300E4A-AD2? [RESOLVIDO]

13. Re: Dúvida de compra: Samsung 305E4A-AD1 ou Samsung 300E4A-AD2? [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 28/06/2012 - 18:20h

hcabzlus escreveu:

Listeiro 037 escreveu:

O que pode ter esse suporte a vários núcleos são projetos "grandes". Grandes mesmo.
Kernel Linux, GCC, GDB, Binutils, KDE, GNOME.

Eles podem ter alguma opção de processamento paralelo, no paradigma dessa programação mesmo.

Tipo uns semáforos que esperam um programa/processo enviar informação processada a outro para continuar.

Mas não é igual ao multitarefa aparente com tempo divivido. É real mesmo.

Cada processador se vira com uma coisa diferente e essas coisas comunicam-se entre si.

Isso é uma ideia que assimilei parcialmente olhando um esboço de um algoritmo desses.

Prá kernel deve ser 300 vezes mais complicado.


Amigo, multitarefa é um conceito, programação concorrente é outro e programação paralela é outro.


Foi uma comparação. "Mas não é igual ao multitarefa..." talvez soasse melhor com "parecido" ou "semelhante".

Referia-me ao fato superficial de coisas que funcionam ao mesmo tempo, divididas em partes, seja um programa ou mais, seja em apenas um núcleo ou em vários. Eu não tenho certeza de até onde posso saber do tema, mas no momento definir as palavras exatas de cada conceito não está sendo fácil.

Mas um simples programinha de socket que utiliza apenas duas threads pode ser executado paralelamente, em dois núcleos distintos. Veja bem: eu disse PODE. Isso pq quem determina é o sistema operacional. É ele quem aloca os recursos de um ou mais processadores para um processo/thread.


Sim, por ser um único programa eu percebo que ele poderia ou não rodar em um único núcleo.

Entendi então que o sistema "esconde" quantos núcleos há envolvidos. Mas o programa deve apenas suportar múltiplas threads, que o sistema que se vire prá distribuir nos núcleos ou há algum modo de o programa escolher "como espalhar-se" pelos núcleos da máquina?

O que penso é numa forma de realizar uma tarefa, esta quebrada em várias partes, várias partes sendo executadas ao mesmo tempo, com várias repetições da tarefa também sendo executadas. Do modo mais rápido possível, claro.

Pode perguntar sobre qualquer aplicativo que te digo que ele usa um processamento paralelo. Até o navegador que tu está utilizando com certeza usa. E te digo como: enquanto você navega de vez em vez ele dispara uma thread que verifica por atualizações. E usando uma thread somente para isso faz com que ele atualize enquanto você continua usando ele sem notar qualquer tipo de travamento.


O navegador Google Chrome pôs em moda um modelo de projeto de browser que lembra em muito as ideias de um sistema operacional. Como muitos outros projetos assimilaram-nas, deve ser bem esse o caso.

No caso tenho em mente um projeto da complexidade do GCC.

Compilá-lo demorava uma eternidade. Depende da máquina, lógico. Como seria possível um projeto do tamanho dele ser compilado do modo mais rápido? Observando os conceitos esboçados até aqui. Falo dele compilar ele mesmo, por exemplo.

Como ele se auto-otimizaria em sua execução? Eu não sei explicar, mas não consigo compreender que isso se dê por única e simples responsabilidade do sistema operacional. Ou a menos que o sistema operacional tivesse interação com ele e o permitisse.

Vamos ver se consegui me fazer por entender desta vez.


  



01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts