O Ubuntu faz uso de CPUs multicore (como o Windows 7 costuma fazer)?
Em outras palavras, é multitarefa otimizada para que os usuários se beneficiem de mais de 4 processadores principais?
cpu
multi-core
Paulo
fonte
fonte
Respostas:
Sim, o Ubuntu é otimizado para CPUs multicore e existe há muitos anos.
Alguns antecedentes :
"A versão 2.0 (do kernel do Linux) foi lançada em 9 de junho de 1996. Havia 41 lançamentos na série. O principal recurso do 2.0 era o suporte a SMP (ou seja, multiprocessamento simétrico em um único sistema) e suporte a mais tipos de processadores . "
fonte
O Ubuntu é um sistema operacional, uma distribuição Linux. Um sistema operacional consiste em vários componentes de software, como um kernel, bibliotecas , serviços / daemons, aplicativos etc.
O Ubuntu usa o kernel do Linux, que utiliza o multiprocessamento simétrico (SMP) e vários núcleos. Ele se adapta muito bem a sistemas de núcleo único de baixo custo e CPU única a clusters de supercomputadores de última geração com milhares de CPUs com vários núcleos.
O Ubuntu é fornecido com centenas de bibliotecas, algumas das quais são multithreaded e thread-safe, outras não. Em alguns casos, faz sentido que eles sejam multiencadeados; em outros, não é aplicável, geralmente possível ou não faz muito sentido.
O Ubuntu é fornecido com centenas de aplicativos, alguns são codificados para fazer uso de CPUs com vários núcleos, outros não. Em alguns casos, faz sentido codificar o aplicativo como tal, em outros casos não é possível. Nem todos os aplicativos que poderiam ou deveriam usar vários núcleos o fazem.
Exemplo: faz sentido que um jogo use o multi-core para gráficos, áudio, rede, física, etc. Mas não faz sentido que uma calculadora, ferramenta de captura de tela, suduko ou editor de menu reconheça o multi-core.
fonte
O kernel do Ubuntu suporta várias CPUs há muito tempo, não importa se suas CPUs com vários núcleos ou múltiplos em um sistema, elas serão tratadas perfeitamente.
Porém, é preciso estar ciente de que, apenas porque um sistema tem suporte para várias CPUs / núcleos e esses estão presentes em um sistema, isso não significa que seus aplicativos serão executados automaticamente mais rapidamente. Você é dito muito ao contrário hoje em dia, é uma coisa de marketing.
Para que um aplicativo aproveite várias CPUs / núcleos ao mesmo tempo, ele precisa ser construído para compartilhar a carga do processo sobre essas CPUs / núcleos.
Ou seja: digamos que você esteja executando algo tão simples como
wordpad
no Windows e que esteja abrindo um arquivo de texto enorme , o tempo de carregamento será o mesmo, se você tiver 1 CPU ou 1 zilhão de CPUs (para CPUs com a mesma velocidade de barramento e arquitetura semelhante) ofc).O mesmo acontece com o Linux Kernel e a distribuição Ubuntu, se um aplicativo for construído para um único thread, não haverá mais nada de CPUs.
Uma coisa que os sistemas operacionais estão fazendo hoje em dia para otimizar o carregamento de aplicativos em várias CPUs / núcleos é a capacidade de executar um processo em um núcleo que não é tão carregado quanto o outro, equilibrando a carga e garantindo seus múltiplos núcleos a utilização é ótima. Difícil na prática, a utilização dessa técnica traz apenas pequenas melhorias na velocidade.
Se você realmente deseja ver seus núcleos brilharem, precisa fazer uma utilização pesada da CPU com programas que suportam multiprocessamento simétrico , como edição de vídeo, etc.
fonte
Sim, funciona perfeitamente para mim e tenho vários processadores e hyper-threading, que esqueci o que isso significa, mas tenho certeza que significa algo sobre o fato de cada processador poder executar vários threads, o que combinado com o fato de cada processador ter 2 núcleos, parece ser um problema. O único problema que encontrei até agora é que os programas no ubuntu tendem a congelar. Eu fiz isso acontecer com menos frequência, diminuindo o swappiness, pois tenho 6 GB de RAM.
fonte