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

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.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.