The 64-Bitness of Mac OS X 10.6 Snow Leopard

Apple has been promoting three key advantages of Mac OS X 10.6 Snow Leopard that are hardware dependent:

  1. Grand Central Dispatch (GCD)
  2. OpenCL
  3. 64-bit operation

Grand Central Dispatch

Grand Central DispatchGrand Central Dispatch lets the operating system oversee the handling of threads in GCD-aware apps. Under previous versions of OS X, each application was responsible for its own multithreading support. New apps can hand off that responsibility to the OS, which will dynamically allocate threads as necessary. This should lead to better utilization of CPU resources.

Any Intel Mac with a multicore CPU will be able to use GCD. The only Intel Mac to ship without a multicore CPU was the 1.5 GHz Mac mini Core Solo, which we’ve warned our readers about since the beginning. Fortunately gaining GCD support simply requires replacing the Core Solo CPU with a Core Duo or Core 2 Duo one.

OpenCL

OpenCLWhat Grand Central Dispatch does for multithreading, OpenCL does for accessing the power of the graphics processing unit (GPU) in more recent Intel Macs. OpenCL makes the power of modern GPUs available for non-graphics computation.

Of the three hardware-dependent features, it has the highest requirements and is not supported on the most Intel Macs:

  • iMacs released before March 2009
  • Mac mini released before March 2009
  • MacBook released before October 2008
  • MacBook Pro released before June 2007
  • original MacBook Air
  • Mac Pro released before January 2008 (Jan. 2008 and later models with unsupported video cards can used the discontinued GeForce 8800 upgrade kit – Apple part no. MB137Z/A – for OpenCL support. The GeForce GT 120 retails for $149, is designed to work with the 2009 Mac Pro and has been reported to work with the 2008 model as well.)

64-bit Operation

64-bitFull 64-bit support means programs will no longer be limited to 4 GB of RAM; the new maximum (16 exabytes) is meaningless, as no computer in the foreseeable future will be able to hold billions of gigabytes of memory. Both the OS and almost all “system applications” (Finder, Safari, Mail, iChat, iCal, etc.) that come with Snow Leopard are ready for 64-bit operation.

Snow Leopard is completely backwards-compatible with 32-bit apps.

First generation Intel Macs designed around Intel Core Solo and Core Duo chips do not support 64-bit operation; all Macs since then do. However, according to Thom Holwerda of OSNews, most Macs will boot in 32-bit mode by default – at least that’s the case with the latest developer release (build 10A432).

Although this could change in the final release, at present the 2008 and 2009 Xserves are the only Mac that will automatically boot into 64-bit mode. All other Macs with a Core 2 Duo or better CPU are capable of 64-bit operation but won’t use it unless you hold down the “6” and “4” keys during startup. As Holwerda notes, “You can also use the NVRAM or the com.apple.Boot.plist file to more permanently boot into 64-bit mode.”

According to Netkas.org, Apple has set things so the 64-bit kernel will only load on Macs with a 64-bit EFI (Extensible Firmware Interface) despite the fact that Macs with a 32-bit EFI can run the 64-bit kernel “just fine”. On top of that, Apple has disabled 64-bit support for all consumer MacBooks, even those with 64-bit EFI. Holwerda states, “this is an artificially implemented limitation by Apple”, and further that consumer MacBooks (this does not include the MacBook Pro or MacBook Air) cannot boot the current seed in 64-bit mode.

Snow Leopard Support

Model
64-bit EFI
Grand Central
Dispatch
OpenCL
Mac mini Core Solo no no no
Mac mini 1/06, 9/06, 8/07 no yes no
Mac mini 3/09 yes yes yes
iMac 1/06, 9/06, 8/07 no yes no
iMac 4/08 ATI yes yes no
iMac 4/08 Nvidia, 3/09 yes yes yes
Mac Pro 2006 no yes no
Mac Pro 2008 yes yes maybe
Mac Pro 2009 yes yes yes
MacBook 5/06, 11/06, 5/07, 10/07, 2/08, 10/08 no yes no
MacBook 1/09, 5/09 yes yes yes
MacBook Unibody no yes yes
13″ MBP 6/09 yes yes yes
15″ MBP 1/06, 10/06 no yes no
15″ MBP 6/07, 2/08, 10/08, 6/09 yes yes yes
17″ MBP 4/06, 10/06 no yes yes
17″ MBP 6/07, 2/08, 1/09, 6/09 yes yes yes
MacBook Air 1/08 yes yes no
MacBook Air 10/08, 6/09 yes yes yes

 

Well, not without a little help. The Hackintosh community has come up with a solution, the pc_efi v10.1 bootloader. This apparently lets you boot any Mac with a Core 2 Duo or better CPU into 64-bit Snow Leopard.

Has Apple Dropped the Ball?

Apple has been making slow but steady moves toward 64-bit computing. The PowerPC G5 CPU supports 64-bit operation, and OS X 10.4.0 Tiger was the first Mac OS to include some support for 64-bit operation, primarily to remove the 4 GB memory limitation. Version 10.4.7 added the same level of support for Intel Macs. OS X 10.5 Leopard was expected to fully support 64-bit operation on hardware that supports it, but it only partially achieved that goal.

One of the big selling points for Snow Leopard is that it is a 64-bit operating system from top to bottom (while also fully supporting 32-bit operation), and almost every app from Apple will also be 64-bit when OS X 10.6 launches.

If 64-bitness is such a big deal, why hasn’t Apple made it the default startup mode for every Mac that supports it?

One theory is that Apple has made 32-bit operation the default simply because at this point not all drivers are available in 64-bit versions, so running in 64-bit mode requires the use of some 32-bit drivers. If that is the case, perhaps the release version will have enough 64-bit drivers available to make 64-bit operation practical. It’s a matter of compatibility, and by sticking with 32-bit operation, Apple assures a more seamless migration to Snow Leopard.

That sounds quite plausible, and even if the initial 10.6 release of Snow Leopard doesn’t boot into 64-bit mode by default on anything but recent Xserves, by the time 10.6.1 or 10.6.2 is available, there should be sufficient 64-bit drivers to make 64-bit operation the default.

Time will tell.

I don’t see this as some sort of conspiracy (some already anticipate Apple marketing Mac OS X 10.7 as “fully 64-bit by default”) but as a practical solution. While most Intel Macs will be able to boot in 64-bit mode, without a full complement of drivers it could be a bad experience. By waiting until everything is in place for smooth 64-bit operation before making it the default, Apple assures its users of a better experience.

In the end, that’s what Snow Leopard is all about. Technical things like Grand Central Dispatch, OpenCL, and 64-bit operation only mean something if they improve the user experience, and all indications are that those who love Leopard will love Snow Leopard even more.

Even if it doesn’t boot into 64-bit mode by default right away.

Update: Macworld’s Jason Snell reports that “Snow Leopard runs 64-bit applications regardless of whether it’s booting into a 64-bit or 32-bit kernel.” Clever, those Apple programmers!

searchword: 64bitsnowleopard