我正在尝试理解与不同 CPU 版本相关的不同术语。
Ubuntu 16.04 使用术语“i386”来指代其 32 位版本的 Ubuntu:
http://old-releases.ubuntu.com/releases/yakkety/ubuntu-16.10-desktop-i386.iso
这里的术语“i386”是否意味着该版本的 Ubuntu 可以在 Intel 80386 CPU(1985 年推出)上运行,还是这里的术语“i386”仅意味着该版本的 Ubuntu 可以在 Intel 80386 CPU 的后代 CPU 上运行?
答案1
Intel 80386,也称为 i386 或 386,是英特尔于 1985 年推出的 32 位微处理器。根据上下文,它被称为 x86、IA-32 或 i386 架构。
x86-64
是 x86 指令集的扩展。它支持比 x86 大得多的虚拟和物理地址空间,从而使程序员能够方便地处理更大的数据集……在以“x86-64”名称推出该架构后,AMD 将其重命名为 AMD64……x86-64 仍被业内许多人用作与供应商无关的术语,而其他公司(尤其是 Sun Microsystems(现为 Oracle Corporation)和 Microsoft)则使用 x64。
因此 Ubuntu ISO 支持这两种版本。
这个 Multiarch 是什么?
多架构允许您在同一台机器上安装来自多个体系结构的库包。这在很多方面都很有用,但最常见的是在同一台机器上安装 64 位和 32 位软件,并自动正确解析依赖项。通常,您可以同时安装多个体系结构的库,并安装来自一个或另一个体系结构的应用程序作为备选。请注意,它不允许同时安装应用程序的多个体系结构版本。
该计算机系统具有64位内核架构:
$ dpkg --print-architecture
amd64
多架构支持允许您同时使用 32 位库和 64 位库。
该计算机系统还支持 i386 架构(即也支持 32 位库):
$ dpkg --print-foreign-architectures
i386
答案2
你是对的...
i386 系列于 1985 年推出,它是第一款公开发布的 Intel 32 位芯片。80286 和(鲜为人知的)80186 是 16 位,而 8086 和 8088 是 8 位。
从这个意义上讲,当您在软件包名称和安装映像中看到 i368 时,这意味着它需要 32 位操作,但不需要 64 位操作。现在,尽管 32 位很快被引入,但 64 位操作却进展缓慢。Pentium pro 系列已经有一些 64 位操作,但我不确定它是否能完成当前 64 位架构所能做的一切。因此,您看不到 64 位软件包的处理器版本,但它们实际上声明它们实际上是 64 位的。
琐事:您是否知道,即使在今天,当您的机器启动时,处理器也会作为 8 位机器唤醒,然后需要通过 BIOS 告知它可以做更多的事情?
答案3
Ubuntu 并未更改 i386 术语,无论它与哪种 x86 CPU 相关。原因是 Debian 将所有 x86(32 位)称为 i386,Ubuntu(下游)也效仿了这一做法。(https://www.debian.org/releases/stable/i386/ch02s01.html.en#idm181)
x86 的最后一个 x86 ISO 需要 i686 级的 CPU,因此它们无法在 80386、80486 或更旧的 CPU 类上启动和运行。
18.10 版 x86 桌面 ISO(Xubuntu、Lubuntu 桌面以及 19.04 ISO,直到 2018 年 12 月停止生产这些版本) 但是可以在奔腾 4/奔腾 M 级单核 686 类上启动。
是的, 'x86 30386 的后代' 因此使用您问题中的措辞是正确的。尽管许多 ISO 已经停止生产,但我在奔腾 4 i686 上运行了 Lubuntu 19.04 内核 5,并且 x86/i686 仍然受支持,但现在它的安装选项最少,并且支持减少(并且可能不会扩展到 Ubuntu 20.04 LTS,但 18.04 LTS 仍适用于 i686/x86/i386)