我有一个 64 位(amd64 aka x86_64)Debian 或 Ubuntu 安装。我偶尔需要运行 32 位 (i386/i686) 程序,或者为 32 位系统编译程序。我怎样才能做到这一点,而不是大惊小怪?
奖励:如果我想使用较旧或较新版本的发行版运行或测试怎么办?
在 Linux 和 Windows 上,我已经习惯了需要 64 位内核才能拥有具有多架构/WoW 的系统的情况,我可以在其中并行运行 32 位和 64 位软件。
然后,几年前,当有人向我展示 MacOS 10.6 Snow Leopard 可以使用 32 位模式内核运行 64 位应用程序时,这让我大吃一惊。现在这可能在很大程度上被遗忘了,因为它是一次性的技术过渡。由于硬件在移动领域处于领先地位,据我所知,在 iOS 和 Android 向 64 位的迁移过程中从未需要这样做。
我的问题:在 32 位 Linux 内核(i386 或 armhf)中获得相同的功能需要什么?
我明白这可能不是微不足道的。如果是这样,微软本可以将该功能放入 32 位 Windows XP 中。但是一般要求是什么?是否曾经有过提议的补丁或概念验证?
在嵌入式世界中,我认为这会特别有用,因为 64 位支持在设备驱动程序中可能会滞后很长时间。