Mac OS X Leopard (10.5.x) 是 32 位还是 64 位?

Jos*_*unt 5 memory mac 64-bit macos

Mac OS X Leopard (10.5.x) 是 32 位还是 64 位?

我可以处理超过 4GB 的 RAM 吗?

Qui*_*lor 8

简短的回答是 Leopard 是 32 位和 64 位的混合。

  • Tiger 添加了对低级系统库的 64 位支持,为非 GUI 应用程序启用了 64 位。
  • Leopard 在整个系统框架中添加了 64 位支持,因此任何应用程序都可以是 64 位。
  • Snow Leopard 将添加一个 64 位内核和许多 Apple 提供的 64 位用户应用程序。所有框架和库的 32 位版本当然仍然可用,但是在两种模式下运行应用程序都需要加载两个堆栈,这是低效的,这也是 Apple 强烈鼓励开发人员加入的一个重要原因使用 64 位版本构建他们的应用程序。

因为 10.5 中的内核仍然是 32 位的,所以通过一些技巧可以获得更多的可寻址内存。确切的细节目前我不知道,但我认为在 Leopard 下你只能寻址 4 GB 的物理内存——我相信 64 位内存空间会溢出到磁盘上的虚拟内存,就像 32 位进程超过已安装的 RAM 量。


编辑:我对虚拟内存方面的看法不正确。32 位内核可以处理超过 4 GB 的内存,但是添加大量物理内存会占用内核 32 位内存空间的很大一部分(~ 1/3),这(在极限情况下)会降低内核性能. 显然,如果您的应用程序使用的内存多于可用内存(在 32 位或 64 位模式下),操作系统必须映射虚拟内存。

除此之外,Snow Leopard 中的 64 位内核通过极大地增加它可以使用的地址空间(包括用于描述物理内存)为内核本身提供了喘息空间。大多数人还没有遇到这个限制,但他们将在不久的将来随着安装的 RAM 增加而开始。


Jay*_*rod 6

我发现这个系列非常有用:

Mac OS X 10.6 Snow Leopard 64 位之路

在过去几年中,它对 Apple 的 64 位支持和架构进行了相当深入的研究。