What is the meaning of 'i686' in Ubuntu?

i686 means that you're using 32 bit OS.

Go into the terminal and type in.

uname -a

If your results are similar to the one below, then yours is 64-bit; otherwise, it is 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

If you have the x86_64 then your machine is 64-bit.

If your results are similar to this one; then you have 32-bit.

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

Notice the i686 in the code, that means your machine is 32-bit.

UPDATE:

Type in the following in the terminal;

uname -m

It will give you either x86_64, which is 64-bit, or something else, which is 32-bit.

Courtesy: https://superuser.com/a/260999/130574 (Its a copy of that answer)

Also referred to as the P6 microarchitecture, it is the sixth generation Intel x86 microarchitecture, implemented by the Pentium Pro microprocessor that was introduced in November 1995. i686 code is intended to be executed on processors which are compatible with the 32 bit Intel x86 platform, which includes all Intel 32bit x86 processors up to and including the Pentium 4, etc. as well as processors from AMD and other vendors which make compatible 32bit chips.

Courtesy: Wikipedia and this link

In short:

It just means that you're running a 32 bit kernel supporting codes compatible with the i686 processor architecture.

N.B:

It doesn't mean that your system is only capable of running a 32bit kernel, it just means that you're currently running a 32 bit kernel based OS.


i686 is short to the P6 microarchitecture by intel, introduced with the Pentium Pro1

In short words, it is 32-bit architecture. 8086 and 80286 are even 16-bit processors. 80386 is the first 32-bit Intel processor (introduced Protected mode of work, in addition to Real mode). 80586 is the famous Pentium™.

i686 is widely used to describe 32-bit P6 processor architecture which is compatible with Pentium Pro/II and has it's instruction set. For example, AMD K7 (Duron™ and Athlon™) are i686.


As various posters have said, your kernel is 32-bit. The meaning of i686 deserves a little more explanation, however.

When compiling the Linux kernel (something that end-users don't generally need to do these days - the good people behind Ubuntu supply the kernel ready compiled), there are various options that you can tweak. One important option is CPU feature support.

All x86 CPUs are compatible with the original Intel 80386 (abbreviated i386), so if you want a kernel that's compatible with all x86 CPUs, you would compile an i386 kernel.

However, modern CPUs have many additional features (integrated floating point unit, MMX, etc.), which Linux can use if it is configured to do so. As a balance between backwards compatibility and performance, Ubuntu's kernel is compiled with support for the features that were available on the Intel Pentium II (sometimes abbreviated as i686), which is why the kernel shows up as i686.

This also partly explains why applications compiled for 64-bit processors are sometimes faster. The i686 first appeared in 1997, and modern processors have many features that were not available on the i686 (SSE, extra registers, etc.), but applications need to be compiled with support for these features, which might break compatibility with older systems. By contrast, x86_64 CPUs first appeared in 2003, so applications can be compiled with support for some of the features introduced between 1997 and 2003, without fear of compatibility issues.

Tags:

Kernel