32 位 Linux 操作系统可以在与 64 位兼容的现代桌面上运行吗?

32 位 Linux 操作系统可以在与 64 位兼容的现代桌面上运行吗?

我正在通过 SuseStudio (OpenSuse 13.x) 构建一个最小的“设备” - 没什么花哨的......只是在上面运行一些模拟器。我希望操作系统能够与尽可能多的工作站兼容,因此我倾向于使用 32 位来支持较旧的处理器。假设我会不是正在做任何内存密集型的事情,还有其他原因让我应该使用 64 位吗?

我能否合理确定 32 位操作系统仍可在现代桌面上运行?

答案1

首先回答您的最后一个问题,x86-64 CPU(又名 Intel 64、AMD64、x64...;基本上您现在可以获得的任何笔记本电脑/台式机 64 位 CPU)完全向后兼容 32 位操作系统,并且应用程序。因此 32 位操作系统可以在现代桌面上运行。

至于为什么应该使用 64 位,64 位指令集添加了各种功能,允许编译器生成更快的代码(值得注意的是,有更多的寄存器,并且可以存储更多的值),因此为 x86 构建的相同应用程序-64 通常比在同一 CPU 上为 32 位模式构建时运行得更快。这确实是以使用更多内存来存储指针为代价的,但速度的提高通常超过了指针的成本。

有关这一切的更多信息,请查看维基百科。您可能还对 x32 感兴趣,它使 32 位软件能够使用 64 位 CPU 的速度增强功能,而无需指针成本(但它们只能在 64 位 CPU 上运行);维基百科也有细节

答案2

我假设您的问题是关于 x86 处理器的。

这是一个折衷的解决方案,用于 Debian 32 位。生产32位的整个系统,但还添加一些额外的内核:pea-kernel是32位的,但可以寻址超过4GB(理论上最多64GB)的物理内存,但只有3GB的逻辑内存(每个进程3GB, 1GB 由内核使用)。 64 位内核还可以寻址超过 4GB 的物理内存,以及每个 32 位进程 4GB 的逻辑内存。 64 位内核比豌豆更简单,并且可能更高效。

内核相对较小,因此进行选择不会增加系统的大小(您只需要安装一个)。然而,对于拥有硬件的系统来说,它可以产生很大的差异。

答案3

我能否合理确定 32 位操作系统仍可在现代桌面上运行?

是的。几乎所有支持 64 位的处理器都支持 64 位模式或 32 位模式。
(例外情况可能会提前安腾s、IBM电源CPU等等,但没有什么主流。)

假设我不会做任何内存密集型的事情,还有其他原因让我应该使用 64 位吗?

就在这里。在 32 位模式下,您最多可以寻址 4GiB 的内存。即高达 4GiB 的虚拟地址空间。如果你用物理内存填充所有这些,那么你就不再受益于适当的地址空间随机化。对于具有 128MiB 或类似低内存的系统来说,这可能不是一个大问题,但使用 32 位模式和大量内存会牺牲一些安全性。

您可能还会错过一些仅在 64 位模式下可用的功能。可能影响安全性的一个例子是NX位。并非所有 32 位 CPU 都有这种情况。尽管这更多地与这些 CPU 的寿命有关,而不是与 64 或 32 位模式有关。

3年后(2018年)更新。现在,EFI 的下一版本将仅支持 64 位。这可能会改变事情。

相关内容