Mac OSX 32 位或 64 位

Mac OSX 32 位或 64 位

我关注了这篇文章...http://support.apple.com/kb/HT3696并发现

Processor name: IntelCore i7 

意思是它是 64 位。

然而,当我这样做的时候“uname -a”在终端,结果似乎是矛盾的。

MYMACHINE:~ himalay$ uname -a
Darwin MYMACHINE 10.8.0 Darwin Kernel Version 10.8.0: Tue Jun  7 16:33:36 PDT 2011; root:xnu-1504.15.3~1/RELEASE_I386 i386

通过 perl 也是一样的。

MYMACHINE:~ himalay$ perl -V:myarchname
myarchname='i386-darwin';

据我所知,i386 是 32 位。有人能解释一下吗?谢谢。

答案1

简而言之,现代版本的 OS X 能够运行 32 位和 64 位可执行文件(应用程序、命令行工具等)。这些可执行文件可以作为“胖”可执行文件分发,其中包含作为 32 位或 64 位进程运行的可执行文件。OS X 在这方面提供了双重性,而其他操作系统对其运行、加载和构建的二进制文件则更为严格。

在 OS X 中,您可以使用兼容 64 位的 Intel 处理器。您的内核可以在 32 位或 64 位下运行,您的程序也可以在 32 位或 64 位下运行。这取决于您的配置以及程序/扩展/库的构建方式。

基本上,您的困惑来自于硬件功能与您查询的正在运行的软件模式之间的差异。您的处理器/硬件能够运行 64 位可执行文件,但您查询的是活动 32 位进程的状态。

答案2

OS X,即使是 64 位版本,默认情况下也使用 32 位内核启动;您必须明确切换到 64 位内核。

看:以 64 位模式运行 OS X 10.6

答案3

你有一台配备 64 位处理器的计算机,但运行的是 32 位操作系统,因此您应该安装 32 位软件,或者重新安装 64 位操作系统,然后您将能够使用 64 位软件。

答案4

查看苹果-->关于此 Mac

uname 为您提供有关您正在运行的内核的信息,不一定是底层硬件的信息(amd64,又名 64 位硬件支持 IA32,又名 32 位内核)

关联

相关内容