i386 ou i686?

Iniciado por estev3s, 26 de Maio de 2009, 05:34

tópico anterior - próximo tópico

estev3s

amigos.. venho aqui pedir ajuda sobre algo que nunca entendi direito..
as vezes quando quero baixar uma distribuição linux da internet, em geral o ubuntu e o fedora
existem as opções i386, i686 e x86_64
imagino que a ultima seja pra processadores de 64 bits mas nunca sei qual das duas outras
é a ideal pra mim.. tenho um notebook positivio, processador celeron, 1 gb de memoria
qual seria a melhor, i386 ou i686?
Linux user #480130

estev3s

eu achei isso na internet..

- i386: Qualquer processador a partir do 386;
- i486: Qualquer processador á partir do 486;
- i586: Qualquer processador posterior ao 586 (Pentium, Pentium MMX, K5, Am5x86 e Cx5x86);
- i686: Qualquer processador posterior ao 686 (Pentium Pro, Pentium II, Pentium III, K6, K6-II, K6-III);
- IA-64 ou EPIC: Suporta apenas processadores Intel Itanium e Intel Itanium 2;
- AMD64 ou IA-32E: Apenas processadores AMD com suporte ao x86-64 (AMD64), como Sempron BX, Athlon 64, Athlon 64 X2, Sempron , Turion ou Athlon 64-FX e Intel Celeron D (Á partir dos 3x1 e 3x6), Pentium 4 (Á partir dos 6xx e 5x1), Pentium D, Pentium Extreme Edition e Xeon (Á partir da revisão de nome "Nocona");

o meu processador é celeron.. nao consegui identificar a opção  certa..
alguem pode me ajudar?
Linux user #480130

ubu4ever

Na verdade, se você tem um Celeron, tanto faz ser i386 ou i686, no entanto o i686 é mais otimizado! Recomendo i686.

rudregues

Revivendo o tópico...
Olhando esse link http://www.ubuntu.com/products/whatisubuntu/serveredition/features/kernel uma coisa me deixou confusa, pois foi o único link que achei que dizia qe ubuntu era otimizado para i686, achei que fosse só pra i386. Citação:
"The Server Edition is optimised for i686 processors while the Desktop Edition is optimised for both the i586 and i686. "
Essa informação procede?

Outra coisa, supondo que eu instalasse um 'ubuntu i686', os pacotes do repositório seriam todos i386? Isso faz alguma diferença(mesmo que pequena)? Eu achei um link com alguns repositórios i686(mas diz que é pro x86_64?!?!) tá aqui http://www.vivaolinux.com.br/artigo/Aptmirror-Como-criar-um-mirror-para-o-Ubuntu-9.04/?pagina=2  e esse são os repositórios:
deb-i686 http://archive.ubuntu.com/ubuntu jaunty main restricted universe multiverse deb-i686 http://archive.ubuntu.com/ubuntu jaunty-updates main restricted universe multiverse #deb-i686 http://archive.ubuntu.com/ubuntu jaunty-backports main restricted universe multiverse
deb-i686 http://archive.ubuntu.com/ubuntu jaunty-security main restricted universe multiverse #deb-i686 http://archive.ubuntu.com/ubuntu jaunty-proposed main restricted universe multiverse
deb-i686-src http://archive.ubuntu.com/ubuntu jaunty main restricted universe multiverse deb-i686-src http://archive.ubuntu.com/ubuntu jaunty-updates main restricted universe multiverse #deb-src-src http://archive.ubuntu.com/ubuntu jaunty-backports main restricted universe multiverse
deb-i686-src http://archive.ubuntu.com/ubuntu jaunty-security main restricted universe multiverse #deb-i686-src http://archive.ubuntu.com/ubuntu jaunty-proposed main restricted universe multiverse


Uma coisa estranha: o meu CD de instalação do Debian lenny é i386, entretanto com o comando uname -a aparece um kernel i686!!!
No ubuntu é um generic. Se eu instalar o kernel i686 no meu ubuntu atual fará alguma diferença no desempenho, ou tem que instalar diretamente um ubuntu otimizado para i686?

[ ]'s
Gentoo — Controle total sobre o sistema.

galactus

#4
Aqui vai um trecho de um mais um excelente texto do Tio Morimoto. Esse texto vai ajudar a dar uma "luz" pra vocês entenderem o que se passa com essa sopa de letras e números:

CitarA opção mais importante com relação ao desempenho é indicar qual processador está sendo utilizado. Isto fará com que o kernel seja compilado com otimizações para a arquitetura, o que pode resultar em um ganho de desempenho de até 10% em alguns casos. Para isto, acesse a seção "Processador Type and Features" na tela principal do xconfig e clique na opção "Processador family".

A opção 386 gera um código que funciona em qualquer PC, desde um 386 até um Pentium 4 ou Athlon X2. A opção 486 gera algumas otimizações para a arquitetura pipelinizada do 486, mas mantendo a compatibilidade com todos os processadores daí em diante.

A opção "586/K5/5×68/6×86/6×86MX" é a mais usada, pois gera um kernel compatível com todos os processadores a partir do Pentium, com um nível de otimização razoável. Acima desta temos otimizações específicas para cada família de processadores, que garantirão um nível máximo de desempenho, em troca da perda de compatibilidade com os demais. Compilar o kernel com otimizações para a plataforma Core irá torná-lo incompatível com máquinas baseadas em outras famílias de processadores, mas, naturalmente, isso não é um problema se você só utilizará este novo kernel na sua própria máquina.

Na verdade, o nível de otimização do kernel tem um efeito pequeno sobre o desempenho geral da máquina na maioria dos casos, pois o kernel em si representa apenas uma pequena parte do sistema. Sobre ele temos pesos pesados como o X, KDE e o OpenOffice. Em geral, otimizar o kernel para o seu processador, sem mexer nos demais programas, resulta num ganho médio inferior a 2%.

Uma opção importante hoje em dia é ativar o suporte a SMP (a opção "Symmetric multi-processing support", dentro da seção "Processador Type and Features"), necessário para que o sistema consiga tirar proveito de processadores dual-core ou quad-core.

Ativar o suporte a multiprocessamento não faz com que o kernel gerado deixe de ser compatível com máquinas equipadas com processadores single-core (o kernel é capaz de detectar o número de núcleos disponíveis durante o boot), apenas faz com que o desempenho seja levemente inferior, já que o sistema continua com o código necessário carregado na memória. Para ativar, habilite (ainda dentro da seção "Processador Type and Features") a opção: "Symmetric multi-processing support".

Fonte: http://www.gdhpress.com.br/blog/recompilando-kernel/

Portanto ao ler que um kernel é i386, i686 ou x86_64 tem haver com a família do processador ao qual ele foi otimizado na compilação!   No caso do x86_64, ele só vai funcionar em processadores que suportem instruções 64bits! Mas graças aos nomes comerciais que a intel e a AMD continuam usando, mesmo com alterações profundas ou completas na família dos processadores, fica impossível saber apenas pelo nome comercial a família correta do seu processador!

Vejam o exemplo do Celeron (no caso Intel) e do Sempron (no caso AMD), eles vem mantendo o nome mas eles já passaram por várias mudanças internas. Hoje temos Celerons da família Core!!!!  Por isso existem comandos para descobrir a real família do seu processador e aí na hora de configurar o kernel para ser compilado, você marca a melhor opção para sua máquina!

No caso do Debian ele verifica na hora da instalação o seu processador e "tenta" instalar a versão do kernel mais apropriada para ele. O fato da imagem ISO estar escrita i386 é só para diferenciar da imagem X86_64 que só vai servir em processadores que suportem os 64bits! Com isso você pode ter um kernel i386 ou i686 instalado conforme o seu processador.

Então já viram, fica impossível para os desenvolvedores saberem em que processador o seu sistema vai rodar, então eles criam configurações "genéricas" na compilação do kernel, para atender a maior parte possível dos usuários e facilitar a vida deles também. Leva muito tempo e dá a maior  dor de cabeça ficar ajustando configurações de kernel!!!


Há sim, já ia esquecendo. Para saber informações do seu processador use o comando:

cat /proc/cpuinfo

No meu caso:

Citargalactus@galactus-desktop:~$ cat /proc/cpuinfo
processor   : 0
vendor_id   : GenuineIntel
cpu family   : 6
model      : 30
model name   : Intel(R) Core(TM) i7 CPU         860  @ 2.80GHz
stepping   : 5
cpu MHz      : 3570.002
cache size   : 8192 KB
fdiv_bug   : no
hlt_bug      : no
f00f_bug   : no
coma_bug   : no
fpu      : yes
fpu_exception   : yes
cpuid level   : 11
wp      : yes
flags      : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss nx rdtscp lm constant_tsc up arch_perfmon pebs bts xtopology tsc_reliable nonstop_tsc pni ssse3 cx16 sse4_1 sse4_2 popcnt hypervisor lahf_lm
bogomips   : 7140.00
clflush size   : 64
power management:

galactus@galactus-desktop:~$

Em negrito a família e modelo do processador em questão!

Espero ter ajudado mais que complicado!

Té+
BigLinux no Notebook  / Várias Distros Virtualizadas no PC.

rudregues

Muito obrigado galactus, isso já esclareceu muita coisa!  :D

-Mas como assim o Debian ''tenta'' instalar a versão do kernel mais apropriada?

-E sobre a compilação do kernel, esse tutorial não é mais simples que o do morimoto?http://www.vivaolinux.com.br/dica/Compilando-kernel-no-Debian-com-apenas-dois-comandos {Como esse tuto tem menos comandos, imagino que deve ser mais rápido pro meu pc(PIII-650MHz).}

-Última coisa, após compilar o kernel do ubuntu eu vou poder usar aqueles repositórios pra i686?
[ ]'s
Gentoo — Controle total sobre o sistema.

Hqxriven

CitarMuito obrigado galactus, isso já esclareceu muita coisa!  Contente

-Mas como assim o Debian ''tenta'' instalar a versão do kernel mais apropriada?

-E sobre a compilação do kernel, esse tutorial não é mais simples que o do morimoto?http://www.vivaolinux.com.br/dica/Compilando-kernel-no-Debian-com-apenas-dois-comandos {Como esse tuto tem menos comandos, imagino que deve ser mais rápido pro meu pc(PIII-650MHz).}

-Última coisa, após compilar o kernel do ubuntu eu vou poder usar aqueles repositórios pra i686?
[ ]'s

Esse tutorial não é muito adequado... e está bem velho...
Sem distro Linux fixa - Kernel Omnislash
Meu objetivo nesse fórum é ajudar. Sou um mero humano mas desejo sempre aprender e melhorar em tudo o que faço em minha vida. Então, por favor, quando eu postar me notifique depois

rudregues

Citação de: Hqxriven online 22 de Maio de 2010, 18:15
CitarMuito obrigado galactus, isso já esclareceu muita coisa!  Contente

-Mas como assim o Debian ''tenta'' instalar a versão do kernel mais apropriada?

-E sobre a compilação do kernel, esse tutorial não é mais simples que o do morimoto?http://www.vivaolinux.com.br/dica/Compilando-kernel-no-Debian-com-apenas-dois-comandos {Como esse tuto tem menos comandos, imagino que deve ser mais rápido pro meu pc(PIII-650MHz).}

-Última coisa, após compilar o kernel do ubuntu eu vou poder usar aqueles repositórios pra i686?
[ ]'s

Esse tutorial não é muito adequado... e está bem velho...
Hqxriven obrigado por me avisar!   XD
Mas a última dúvida persiste:
"-Última coisa, após compilar o kernel do ubuntu eu vou poder usar aqueles repositórios pra i686?"
[ ]'s
Gentoo — Controle total sobre o sistema.

Alyscom

#8
Teria como dar uma de alá Gentoo, tipo... Recompilar tudo de acordo com o meu processador, que no caso é um Core2Duo??

Tipo.. Poder aproveitar cada ciclo do seu CPU seria legal :D

ps.: Achei isso aqui, será que isso seria o certo a se fazer?


[]'s


Alyscom
O álcool é o photoshop da vida real
 

rudregues

Citação de: Alyscom online 30 de Maio de 2010, 23:45
Teria como dar uma de alá Gentoo, tipo... Recompilar tudo de acordo com o meu processador, que no caso é um Core2Duo??

Tipo.. Poder aproveitar cada ciclo do seu CPU seria legal :D


[]'s


Alyscom
Claro que pode Alyscom!
No Ubuntu inclusive dá pra usar o apt-build, que pelo que eu li é muito bom! (Se bem que usar o apt-build já num seria mais um alá Gentoo...)
Eu também tenho vontade de fazer isso, mas num tempo...

[ ]'s
Gentoo — Controle total sobre o sistema.

Alyscom

#10
Vou ver se consigo formatar meu PC esta semana, poderiam de dar umas dicas "ou não" do que fazer?? Não quero errar e ter de instalar tudo de novo(Entendem??)!! ;)

@rudregues
Não estou conseguindo acessar este link aqui

Como usar corretamente este apt-build?? Em uma das opções eu coloquei forte, será que terá algum problema??
_____________________________________________________________________________________________________________________
Heheh...  Dar ou não dar o comando sudo apt-build world, eis a questão! ;D ;D
O álcool é o photoshop da vida real
 

rudregues

Citação de: Alyscom online 31 de Maio de 2010, 03:15
Vou ver se consigo formatar meu PC esta semana, poderiam de dar umas dicas "ou não" do que fazer?? Não quero errar e ter de instalar tudo de novo(Entendem??)!! ;)

@rudregues
Não estou conseguindo acessar este link aqui

Como usar corretamente este apt-build?? Em uma das opções eu coloquei forte, será que terá algum problema??
_____________________________________________________________________________________________________________________
Heheh...  Dar ou não dar o comando sudo apt-build world, eis a questão! ;D ;D
De um modo geral, sempre vejo recomendarem o nível médio, ''pois o nível 'forte' é tão extremo que pode causar problemas, além disso o médio já dá um bom ganho de performance, além de demorar bem menos''.
Alyscom,
não usei muito o apt-build, na verdade só usei duas vezes, uma não lembro com o que e a outra foi compilando o pidgin (tinha 22,4MB e demorou 1h:15min) não foi muito legal... mas o problema é que meu processador é um Lentium 3, então nem adianta espera muito...sem contar que eu não percebi ganho algum no desempenho. Mas quando tiver com pc novo vou usar ele mais vezes :D.
bons links:
http://www.guiadohardware.net/dicas/apt-build.html
http://nigibox.wordpress.com/2009/10/01/apt-build-%E2%80%94-optimize-your-debian/
http://wiki.forumdebian.com.br/index.php/Apt-build
(Se quer entrar fundo no apt-build acho que o mínimo é ler isso aí!)

Sobre o kernel da versão server, pelo menos dá pra instalar pelo apt-get:
sudo apt-get install linux-headers-server linux-image-server linux-server
(obs.:também num consegui acessar essa página, parece que ela não existe mesmo...)
Gentoo — Controle total sobre o sistema.