Qual é o significado de 'i686' no Ubuntu?

57

Para verificar se estou usando o Ubuntu de 32 bits ou 64 bits. Procurei Como verifico se tenho um SO de 32 ou 64 bits? e encontrou esta resposta uname -a. Se for mostrado como i386, será de 32 bits e amd64, será de 64 bits, mas obtive este resultado:

Linux mukund-ThinkPad-Edge-E431 3.8.0-35-generic #50-Ubuntu SMP Tue Dec 3 01:25:33 UTC 2013 i686 i686 i686 GNU/Linux

O que é esse i686? São 32 bits ou 64 bits - eu acho que são 32 bits, porque todos os pacotes Debian que instalei nele são de 32 bits, então qualquer um pode dar uma explicação detalhada.

Mukund
fonte
11
este superuser.com/a/238131/18500 e esta resposta à sua pergunta: serverfault.com/a/188203/26514
Brian

Respostas:

56

i686 significa que você está usando o 32 bitsistema operacional.

Entre no terminal e digite.

uname -a

Se seus resultados forem semelhantes aos abaixo, o seu será de 64 bits; caso contrário, é de 32 bits.

Linux ubuntu-tm 2.6.35-28-generic #49-Ubuntu SMP Tue Mar 1 14:39:03 UTC 2011 x86_64 GNU/Linux

Se você possui o x86_64 , sua máquina é de 64 bits.

Se seus resultados forem semelhantes a este; então você tem 32 bits.

Linux Server 2.6.15-23-386 #1 SMP Tue Mar 1 13:49:40 UTC 2011 i686 GNU/Linux

Observe o i686 no código, isso significa que sua máquina é de 32 bits.

ATUALIZAR:

Digite o seguinte no terminal;

uname -m

Ele fornecerá x86_64 , que é de 64 bits ou outra coisa, que é de 32 bits.

Cortesia: https://superuser.com/a/260999/130574 (é uma cópia dessa resposta)

Também chamada de P6 microarchitecturemicroarquitetura Intel x86 de sexta geração, implementada pelo microprocessador Pentium Pro, introduzida em novembro de 1995. O código i686 deve ser executado em processadores compatíveis com a plataforma Intel x86 de 32 bits, que inclui todos os processadores Intel de 32 bits x86, inclusive o Pentium 4, etc., bem como os processadores da AMD e de outros fornecedores que fabricam chips de 32 bits compatíveis.

Cortesia: Wikipedia e este link

Em resumo:

Significa apenas que você está executando um kernel de 32 bits que suporta códigos compatíveis com a i686arquitetura do processador.

NB:

Isso não significa que seu sistema é capaz apenas de executar um kernel de 32 bits, apenas significa que você está atualmente executando um sistema operacional baseado em kernel de 32 bits.

saji89
fonte
41

O i686 é curto para a microarquitetura P6 da Intel, introduzida com o Pentium Pro 1

Em poucas palavras, é arquitetura de 32 bits. 8086 e 80286 são até processadores de 16 bits. O 80386 é o primeiro processador Intel de 32 bits (introduzido o modo de trabalho protegido , além do modo real ). 80586 é o famoso Pentium ™ .

O i686 é amplamente usado para descrever a arquitetura do processador P6 de 32 bits, compatível com o Pentium Pro / II e com seu conjunto de instruções. Por exemplo, o AMD K7 (Duron ™ e Athlon ™) são i686.

Danatela
fonte
6
A Intel nunca criou um processador com o número 80686 (o Pentium II é com o número 80522/3/4).
Alistair Buxton
3
i686 refere-se à arquitetura P6 iniciada com o Pentium Pro, não o Pentium II.
Andrew Medico
27

Como vários pôsteres disseram, seu kernel é de 32 bits. O significado de i686, no entanto, merece um pouco mais de explicação.

Ao compilar o kernel do Linux (algo que os usuários finais geralmente não precisam fazer hoje em dia - as pessoas boas por trás do Ubuntu fornecem o kernel pronto compilado), há várias opções que você pode ajustar. Uma opção importante é o suporte a recursos da CPU.

Todos os processadores x86 são compatíveis com o Intel 80386 original (abreviado i386); portanto, se você deseja um kernel compatível com todos os processadores x86, compile um kernel i386.

No entanto, as CPUs modernas têm muitos recursos adicionais (unidade integrada de ponto flutuante, MMX etc.), que o Linux pode usar se estiver configurado para fazer isso. Como um equilíbrio entre compatibilidade com versões anteriores e desempenho, o kernel do Ubuntu é compilado com suporte aos recursos que estavam disponíveis no Intel Pentium II (às vezes abreviado como i686), e é por isso que o kernel aparece como i686.

Isso também explica em parte por que os aplicativos compilados para processadores de 64 bits às vezes são mais rápidos. O i686 apareceu pela primeira vez em 1997, e os processadores modernos têm muitos recursos que não estavam disponíveis no i686 (SSE, registros extras, etc.), mas os aplicativos precisam ser compilados com suporte para esses recursos, o que pode prejudicar a compatibilidade com sistemas mais antigos. Por outro lado, as CPUs x86_64 apareceram pela primeira vez em 2003, para que os aplicativos possam ser compilados com suporte para alguns dos recursos introduzidos entre 1997 e 2003, sem medo de problemas de compatibilidade.

James_pic
fonte
2
Não há definição padrão de "i686". Ele foi usado para descrever tudo, desde a arquitetura P6 (que inclui CPUs que não podem mais executar o Ubuntu), "Pentium II e superior" pelo Ubuntu e até "Atom / Core2 ou superior" por outras distribuições.
Alistair Buxton
Gosto quando você diz "Isso também explica em parte porque os aplicativos compilados para processadores de 64 bits são às vezes mais rápidos". Na primeira vez em que executei um sistema completo de 64 bits, fiquei impressionado com a melhoria da velocidade. No entanto, você não verá essa aceleração ao executar um sistema misto de 32/64 bits.
Zane
2
As CPUs também possuem a instrução CPUID, que permite que a CPU relate sinalizadores de recursos. Você pode vê-los em / proc / cpuinfo. Portanto, mesmo que o software seja compilado para o i686, ele poderá verificar os sinalizadores para ver se há recursos mais atuais.
Zan Lynx
Felicidades pelas informações sobre sinalizadores de recursos e os caprichos da nomeação de CPU. Devo confessar que já faz muito tempo que eu tive que compilar meu próprio kernel (provavelmente em algum lugar da série 2.0) e imagino que o Linux tenha se tornado muito mais inteligente sobre os recursos da CPU desde então. Se você acha que a apresentação pode ser aprimorada, sugira as edições que puder.
James_pic
Se o seu sistema tiver RAM limitada e não estiver processando muito numérico, você poderá obter um desempenho melhor em um sistema de 32 bits, pois várias coisas são armazenadas de forma mais compacta e seu sistema pode fazer um pouco mais antes de recorrer para usar o disco IO. Não faça muitas suposições sobre isso sem testar.
Mc0e
1

Abra Configurações do sistema e clique em Detalhes. Então você vê que tipo de sistema operacional você possui.

Eu tenho o Ubuntu 12.04 LTS 64 bits e uname -amostra isso:

Linux ubuntu1 3.2.0-60-generic #91-Ubuntu SMP Wed Feb 19 03:54:44 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

Consulte https://superuser.com/questions/238112/what-is-the-difference-between-i686-and-x86-64

SPRBRN
fonte
existe um problema, não consigo encontrar as configurações do sistema no UE 3.8, acabei de instalá-lo, as configurações do sistema não são vistas no sistema / administração ou no sistema / preferências por que?
Mukund
11
Se você não conseguir encontrá-lo, poderá começar se estiver no terminal:gnome-control-center
SPRBRN
0

O i686 é amplamente usado para descrever a arquitetura do processador P6 de 32 bits, compatível com o Pentium Pro / II e com seu conjunto de instruções.

Ibbu Md
fonte
0

Pelo que posso encontrar, você também pode usar lscpupara encontrar sua arquitetura, e não se limita a qual versão seu kernel foi compilado.

iggy12345
fonte