All That Jazz: 32 and 64-bit Macs, EFIs, Kernels & Apps

All Intel-based Macs can run Snow Leopard, and that's the most important take-away here. However, not all Macs can boot Snow Leopard into the 64-bit kernel, and a few older Intel Macs can't even run 64-bit software. Here are some notes to help you make sense of it all.

For reference, here are the system requirements for Snow Leopard.

The first thing to remember is that a Mac has to have a 64-bit CPU to run 64-bit apps. The Core 2 Duo, (Merom and Penryn) and the Xeons are 64-bit CPUs. However, the original MacBook Pro and Mac Minis with a Core Duo had 32-bit CPUs. So they can't run modern 64-bit applications, and everything runs as 32-bits. Snow Leopard is smart about how to do that.

The next thing to know is that even if a Mac is fairly modern, and has a 64-bit CPU, only the latest ones can boot into a 64-bit kernel. (Abbreviated as "K64" by Apple in the chart below.)  They need what's called a 64-bit EFI (Extensible Firmware Interface) to do that, a decision Apple enforced for compatibility. Here's a list, supplied by Apple, that shows which Macs can boot into a 64-bit kernel. These are all fairly recent Macs.

 

K64 Macs

Macs that can boot into 64-bit kernel

The final thing to note is that even if a Mac with a Core 2 Duo or Xeon is not on the list above and has a 32-bit EFI and can only launch a 32-bit kernel (for now), it can still run 64-bit apps. Apple planned ahead for that as a long sequence of building towards a 64-bit system, yet maintaining backwards compatibility.

Even so, we're not quite there yet in terms of 100 percent 64-bit systems. As mentioned on Monday, not every kernel extension has been converted to 64-bits, so Apple has had to take things one step at a time. That's why the Snow Leopard kernel boots into 32-bit mode by default on every Mac but the Xserve. To make sure everything "just works."

So what's the bottom line? So long as you have a Core 2 Duo or Xeon CPU, you'll be able to run 64-bit apps and address more than 2 GB of RAM. Just how much physical RAM you can address is still limited*, but a 64-bit virtual address space is a whole lot larger than your hard disk, so you're in good shape for now.

Eventually, all kernel extensions will be 64-bit and the Macs on the list above (or later) will eventually boot into 64-bit mode by default.** But for now, it's no big deal that you may not have the latest and greatest Mac, on the list above, that is "K64" compatible. You still have a healthy address space, access to lots of RAM, a 64-bit Finder and many 64-bit applications by Apple -- with more to come from developers.

So it's really just a technical nit. You can breathe easy.

There's a handy app that can tell you all about your 32 or 64-bit capabilities, your EFI, and what mode the Mac's booted into. But follow the warning when it launches!

 

Starup Mode selector

Startup Mode Selector

____

* I'll talk about the address bus size in a future article.

** Whether Apple will offer EFI updates from 32 to 64 bits for some Macs is not known.