Qual è il significato di 'i686' in Ubuntu?


57

Per verificare se sto usando Ubuntu a 32 o 64 bit. Ho guardato in Come posso verificare se ho un sistema operativo a 32 o 64 bit? e ho trovato questa risposta uname -a. Se viene mostrato come i386, sarà 32 bit e amd64, sarà 64 bit, ma ho ottenuto questo risultato:

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

Cos'è questo i686? È a 32 bit o 64 bit - Penso che sia a 32 bit, perché tutti i pacchetti Debian che ho installato sono a 32 bit, quindi chiunque può fornire una spiegazione dettagliata.


1
this superuser.com/a/238131/18500 e questa risposta alla tua domanda: serverfault.com/a/188203/26514
Brian

Risposte:


56

i686 significa che stai utilizzando il 32 bitsistema operativo.

Entra nel terminale e digita.

uname -a

Se i tuoi risultati sono simili a quelli qui sotto, i tuoi sono a 64 bit; in caso contrario, è a 32 bit.

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

Se hai x86_64, la tua macchina è a 64 bit.

Se i risultati sono simili a questo; allora hai 32 bit.

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

Notare l' i686 nel codice, ciò significa che la macchina è a 32 bit.

AGGIORNARE:

Digitare quanto segue nel terminale;

uname -m

Ti darà x86_64 , che è a 64 bit, o qualcos'altro, che è a 32 bit.

Per gentile concessione: https://superuser.com/a/260999/130574 (è una copia di quella risposta)

Chiamata anche la P6 microarchitecturemicroarchitettura Intel x86 di sesta generazione, implementata dal microprocessore Pentium Pro, introdotta nel novembre 1995. Il codice i686 è progettato per essere eseguito su processori compatibili con la piattaforma Intel x86 a 32 bit, che include tutti i processori Intel a 32 bit x86 fino al Pentium 4 incluso, ecc. nonché i processori di AMD e di altri produttori che producono chip a 32 bit compatibili.

Per gentile concessione: Wikipedia e questo link

In breve:

Significa solo che stai eseguendo un kernel a 32 bit che supporta codici compatibili con l' i686architettura del processore.

NB:

Ciò non significa che il tuo sistema sia solo in grado di eseguire un kernel a 32 bit, significa solo che stai attualmente eseguendo un sistema operativo basato su kernel a 32 bit.


41

i686 è breve alla microarchitettura P6 di Intel, introdotta con Pentium Pro 1

In poche parole, è un'architettura a 32 bit. 8086 e 80286 sono anche processori a 16 bit. 80386 è il primo processore Intel a 32 bit (introdotta la modalità di lavoro protetta , oltre alla modalità reale ). 80586 è il famoso Pentium ™ .

i686 è ampiamente usato per descrivere l'architettura del processore P6 a 32 bit che è compatibile con Pentium Pro / II e ha il suo set di istruzioni. Ad esempio, AMD K7 (Duron ™ e Athlon ™) sono i686.


6
Intel non ha mai realizzato un processore numerato 80686 (il Pentium II è numerato 80522/3/4).
Alistair Buxton,

3
i686 si riferisce all'architettura P6 iniziata con Pentium Pro, non con Pentium II.
Andrew Medico,

27

Come hanno detto vari poster, il tuo kernel è a 32 bit. Il significato di i686 merita tuttavia qualche spiegazione in più.

Durante la compilazione del kernel Linux (cosa che gli utenti finali generalmente non devono fare in questi giorni - le brave persone dietro Ubuntu forniscono il kernel pronto compilato), ci sono varie opzioni che puoi modificare. Un'opzione importante è il supporto delle funzionalità della CPU.

Tutte le CPU x86 sono compatibili con la Intel 80386 originale (abbreviata i386), quindi se si desidera un kernel compatibile con tutte le CPU x86, si dovrebbe compilare un kernel i386.

Tuttavia, le moderne CPU hanno molte funzionalità aggiuntive (unità a virgola mobile integrata, MMX, ecc.), Che Linux può usare se è configurato per farlo. Come equilibrio tra retrocompatibilità e prestazioni, il kernel di Ubuntu è compilato con il supporto per le funzionalità disponibili su Intel Pentium II (a volte abbreviato come i686), motivo per cui il kernel si presenta come i686.

Ciò spiega anche in parte perché le applicazioni compilate per i processori a 64 bit sono talvolta più veloci. L'i686 è apparso per la prima volta nel 1997 e i moderni processori hanno molte funzionalità che non erano disponibili sull'i686 (SSE, registri extra, ecc.), Ma le applicazioni devono essere compilate con il supporto per queste funzionalità, che potrebbero compromettere la compatibilità con i sistemi più vecchi. Al contrario, le CPU x86_64 sono apparse per la prima volta nel 2003, quindi le applicazioni possono essere compilate con il supporto di alcune delle funzionalità introdotte tra il 1997 e il 2003, senza timore di problemi di compatibilità.


2
Non esiste una definizione standard di "i686". È stato usato per descrivere qualsiasi cosa, dall'architettura P6 (che include CPU che non possono più eseguire Ubuntu), "Pentium II e versioni successive" di Ubuntu e fino a "Atom / Core2 o versioni successive" da altre distribuzioni.
Alistair Buxton,

Mi piace quando dici "Questo spiega anche in parte perché le applicazioni compilate per processori a 64 bit sono talvolta più veloci". La prima volta che ho eseguito un sistema completo a 64 bit, sono rimasto sbalordito dal miglioramento della velocità. Tuttavia, non vedrai questo speedup quando esegui un sistema misto a 32/64-bit.
Zane,

2
Le CPU hanno anche l'istruzione CPUID che consente alla CPU di segnalare flag di funzionalità. Puoi vederli in / proc / cpuinfo. Quindi, anche se il software è stato compilato per i686, potrebbe controllare i flag per vedere se sono supportate più funzionalità correnti.
Zan Lynx,

Saluti per le informazioni sui flag delle caratteristiche e sui capricci della denominazione della CPU. Devo confessare, è da molto tempo che non devo compilare il mio kernel (probabilmente da qualche parte nella serie 2.0), e immagino che Linux sia diventato molto più intelligente sulle funzionalità della CPU da allora. Se ritieni che la presentazione possa essere migliorata, ti suggeriamo di apportare eventuali modifiche.
James_pic

Se il tuo sistema ha una RAM limitata e non sta eseguendo molta elaborazione numerica, potresti effettivamente ottenere prestazioni migliori da un sistema a 32 bit, poiché varie cose vengono archiviate in modo più compatto e il tuo sistema può fare un po 'di più prima di ricorrere all'utilizzo del disco IO. Non fare troppe ipotesi su questo senza testare però.
mc0e

1

Apri Impostazioni di sistema, quindi fai clic su Dettagli. Quindi vedi che tipo di sistema operativo hai.

Ho Ubuntu 12.04 LTS a 64 bit e uname -amostra questo:

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

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


c'è un problema, non riesco a trovare le impostazioni di sistema in UE 3.8, l'ho appena installato, le impostazioni di sistema non sono visibili in sistema / amministrazione o sistema / preferenze perché?
Mukund,

1
Se non riesci a trovarlo, puoi iniziare se dal terminale:gnome-control-center
SPRBRN

0

i686 è ampiamente usato per descrivere l'architettura del processore P6 a 32 bit che è compatibile con Pentium Pro / II e ha il suo set di istruzioni.


0

Da quello che posso trovare, puoi anche usare lscpuper trovare la tua architettura e non si limita alla versione per cui è stato compilato il tuo kernel.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.