Ubuntu 中的“i686”是什​​么意思?

Muk*_*und 64 kernel

检查我使用的是 32 位还是 64 位 Ubuntu。我查看了如何检查我的操作系统是 32 位还是 64 位?并找到了这个答案uname -a。如果它显示为i386,它将是32位和amd64,它将是64位,但我得到了这个结果:

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
Run Code Online (Sandbox Code Playgroud)

这是什么i686?它是 32 位还是 64 位 - 我认为它是 32 位,因为我在其中安装的所有 Debian 软件包都是 32 位的,所以任何人都可以给出详细的解释。

saj*_*i89 61

i686 表示您正在使用32 bit操作系统。

进入终端并输入。

uname -a
Run Code Online (Sandbox Code Playgroud)

如果您的结果与以下类似,那么您的结果是 64 位;否则,它是 32 位的。

Linux ubuntu-tm 2.6.35-28-generic #49-Ubuntu SMP Tue Mar 1 14:39:03 UTC 2011 x86_64 GNU/Linux
Run Code Online (Sandbox Code Playgroud)

如果您有x86_64,那么您的机器是 64 位的。

如果您的结果与此相似;那么你有 32 位。

Linux Server 2.6.15-23-386 #1 SMP Tue Mar 1 13:49:40 UTC 2011 i686 GNU/Linux
Run Code Online (Sandbox Code Playgroud)

注意代码中的i686,这意味着您的机器是 32 位的。

更新:

在终端中输入以下内容;

uname -m
Run Code Online (Sandbox Code Playgroud)

它将为您提供x86_64(64 位)或其他内容(32 位)。

礼貌: https : //superuser.com/a/260999/130574 (这是该答案的副本)

也称为P6 microarchitecture,它是第六代 Intel x86 微体系结构,由 1995 年 11 月推出的 Pentium Pro 微处理器实现。i686 代码旨在与 32 位 Intel x86 平台兼容的处理器上执行,其中包括所有英特尔 32 位 x86 处理器,包括 Pentium 4 等,以及来自 AMD 和其他制造兼容 32 位芯片的供应商的处理器。

礼貌:维基百科和这个链接

简而言之:

这只是意味着您正在运行支持与i686处理器架构兼容的代码的 32 位内核。

注意:

这并不意味着您的系统只能运行 32 位内核,这仅意味着您当前正在运行基于 32 位内核的操作系统。


Dan*_*ela 43

i686是英特尔 P6 微架构的缩写,随 Pentium Pro 1引入

简而言之,它是 32 位架构。8086 和 80286 甚至是 16 位处理器。80386 是第一个 32 位 Intel 处理器(除了实模式外,还引入了Protected工作模式)。80586 是著名的Pentium™

i686 广泛用于描述与 Pentium Pro/II 兼容并具有其指令集的 32 位 P6 处理器架构。例如,AMD K7(毒龙™ 和速龙™)是 i686。

  • Intel 从来没有制造过编号为 80686 的处理器(Pentium II 编号为 80522/3/4)。 (6认同)
  • i686 指的是从 Pentium Pro 开始的 P6 架构,而不是 Pentium II。 (3认同)

Jam*_*pic 29

正如各种海报所说,您的内核是 32 位的。然而,i686 的含义值得多解释一下。

在编译 Linux 内核时(这些天最终用户通常不需要做的事情 - Ubuntu 背后的好人提供已编译好的内核),您可以调整各种选项。一个重要的选项是 CPU 功能支持。

所有 x86 CPU 都与原始 Intel 80386(缩写为 i386)兼容,因此如果您想要一个与所有 x86 CPU 兼容的内核,您将编译一个 i386 内核。

但是,现代 CPU 具有许多附加功能(集成浮点单元、MMX 等),如果 Linux 配置为这样做,则可以使用这些功能。作为向后兼容性和性能之间的平衡,Ubuntu 内核的编译支持 Intel Pentium II(有时缩写为 i686)上可用的功能,这就是内核显示为 i686 的原因。

这也部分解释了为什么为 64 位处理器编译的应用程序有时更快。i686 于 1997 年首次出现,现代处理器具有许多 i686 不具备的功能(SSE、额外寄存器等),但需要编译应用程序以支持这些功能,这可能会破坏与旧系统的兼容性。相比之下,x86_64 CPU 于 2003 年首次出现,因此可以编译应用程序,支持 1997 年和 2003 年之间引入的某些功能,而无需担心兼容性问题。

  • “i686”没有标准定义。它已被用来描述从 P6 架构(包括无法再运行 Ubuntu 的 CPU)、Ubuntu 的“Pentium II 及更高版本”以及其他发行版的“Atom/Core2 或更高版本”的所有内容。 (2认同)
  • CPU 还具有 CPUID 指令,该指令允许 CPU 报告功能标志。您可以在 /proc/cpuinfo 中看到这些。因此,即使软件是为 i686 编译的,它也可能会检查标志以查看是否支持更多当前功能。 (2认同)