Linux 适用硬件平台/系统架构(i386 / i586 / i686 / x86_64)解释

时间:2022-09-01 08:23:54
我们在网上下载各种版本的 Linux OS 时,可以看到对应不同的硬件平台(i386、i586、i686、x86_64)有不同的系统镜像,那么这些 i386、i586、i686、x86_64/AMD64 分别代表什么呢?下面是从网上搜集到的相关介绍:

  i386 是 Intel 80386 架构,Intel 的 80486 是 i486 架构,以此类推,Pentium 是 i586 ,Pentium Pro (这个不是民用级别的)开始是 i686 架构。

  x86_64/AMD64 是 x86 架构的 64 位版。也就是 AMD 公司的 x86_64 位架构 amd64 ,Intel 的 x86_64 架构叫 EM64T ,不过这个是兼容 AMD64 架构的。区别只有一个 CPU 指令。这个不同的指令还不是架构必须的。

  AMD  athlon 64 及以后的 CPU 都是 AMD64 的。

  至于 Intel 的 CPU ,Core 系列都是 64 的,但 Pentium 系列只有部分是 64 位的(比如 E5200)。

  架构和 CPU 必须对应,不过高级架构支持低端架构的,比如 Core 2 Dou 即可以跑 i386、i486、i586、i686 架构的所有系统,也可以跑 AMD64 的架构系统。但老 Pentium4 是 32 Bit 的,可以跑 i386 到 i686 的系统,但不能跑 AMD64 的系统。

  相对来说,越高级的架构,性能功能越好,i686 > i586 > i486 > i386 。

  64 位对 32 位程序不兼容,必须通过 64 位内核开启兼容 32 位支持,内核会去调用 32 位的函数库运行 32 位程序,这样同时支持两个架构才能支持 32 位环境,这会导致支持两个架构时的系统系统里面必须有两套完整的系统函数库。

  现在 64 位 Linux 系统对 32 、64 共存的实现很完美,但安装软件时最好还是针对当前默认架构选择,不然两套相同的系统函数库同时存在很占地方。