Linux/Unix 上如何过渡到 64 位? Windows 世界似乎仍然存在问题,我很好奇它在 *nix 世界中是如何处理的。
答案1
使内核成为 64 位所需的工作已完成呜呜不久前使用 DEC Alpha 系统。然而,程序是另一回事。
到目前为止,我所看到的普遍共识似乎是:
- 具有混合二进制文件的系统的单独
/lib
目录/lib64
- 编译为 64 位;如果编译失败,请重新编译为 32 位,直到可以清除源代码为 64 位。
除此之外,您真的不会看到混合 32/64 位构建带来的大量“悲伤”。
答案2
答案3
由于 Linux 发行版大多是开源的,因此已经完成了很大的转换。除非您使用专有软件(例如 Skype),否则您可以运行纯 64 位系统,没有任何缺点。
然而,恕我直言,真正的区别是更专有与开放,然后是unix与windows,因为它通常是首先移植的开源软件(一些志愿者需要重新编译某些东西 - 也许修复一些编译问题) - 或者在大多数情况下不移植一切都只是重新编译;) - 以及最后移植的财产。
另外,在 Linux 上,您可能还有存储库,因此安装会自动处理 - 您无需选择 64 位或 32 位版本(系统会自动选择您的版本)。在 Windows 上下载程序并具有单独的 64 位和 32 位版本:
- 将服务器上的文件大小加倍
- 要求用户知道他/她的版本。或者甚至他们在某些方面有所不同
我想这就是 Windows 二进制文件通常是 32 位的原因 - 它是一刀切的,并不是每个人都使用 64 位版本。
答案4
实际上,请尝试 ACM Queue 上的“The Long Road to 64-bits”: http://queue.acm.org/detail.cfm?id=1165766 后来 ACM 通讯部发现了这一消息。第一个 64 位微处理器是 MIPS R4000,于 1992 年第一季度在 SGI Crimson 中发货,Dec Alphas 于当年晚些时候发货。
R4000 最初以 32 位模式运行,后来以 64/32 模式运行,即 64 位操作系统、64 或 32 位用户代码。 Alphas 始终仅以 64 位运行 UNIX(这是一个合理的选择,因为没有 32 位应用程序的安装基础。)
20 世纪 90 年代后期,SGI 为 64 位 Linux(在 Itanium 上运行)做出了贡献,大约在 XFS 移植到 Linux 的时候(它确实需要 64 位)。