Mac Musings

The 64-Bitness of Mac OS X 10.6 Snow Leopard

Daniel Knight - 2009.08.19 (updated) -

Follow Low End Mac's blogs: LEMblog and Low End Mac Services.

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:

64-bit Operation

64-bit OperationFull 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, 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, and running in 64-bit mode requires the use of 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 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!

Join us on Facebook, follow us on Twitter or Google+, or subscribe to our RSS news feed

Dan Knight has been using Macs since 1986, sold Macs for several years, supported them for many more years, and has been publishing Low End Mac since April 1997. If you find Dan's articles helpful, please consider making a donation to his tip jar.

Links for the Day

Recent Content