Linux如何同时32位和64位?还是在GLIBC中处理的东西?

我运行CentOS 5.3,它是一个“ 64位”版本;尽管我建造了64位和32位的东西。据我所知,Windows据说具有32位模拟器。 Linux做同样的事情吗?是在用户空间还是内核空间中?

如果Libc处理它,它是否有点像一个模拟器,我会与32位应用程序链接,但是与内核说64位?

有帮助吗?

解决方案

CPU可以执行64和32位指令,并且内核可以在模式之间切换。唯一的限制是,您不能将32位程序链接到64位库,因此必须同时安装了32个和64位版本的LIBC等版本。

其他提示

没有什么可以阻止CPU从64位切换到32位。它只是切换。

您可以拥有64位内核,并运行32位应用程序。您甚至可以拥有32位内核并运行64位应用程序(Mac OS X)。

但是,您需要它们使用的诽谤也为32位或64位,这就是为什么您可能会在Linux上看到64位或32位诽谤的文件的文件。

由于X86_64处理器是通过X86技术设计的,因此他们仍然能够在没有任何硬件仿真的情况下支持32位程序,例如在PowerPC或SPARC环境中运行X86程序所需的内容。在Linux中,您需要做的就是安装必要的软件库来运行32位软件。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top