Snow Leopard's 64-Bit Secrets
One of the biggest points of confusion around Apple's newest version of Mac OS X is about whether it's really a 64-bit or a 32-bit operating system. Apple bills Snow Leopard as supporting 64-bit from top to bottom, while some industry watchers say it's not a true 64-bit OS. What gives?
What's all the fuss about 64-bit?
Both Apple and Microsoft have been chasing 64-bit computing as if it were the Holy Grail -- and in some ways it is. 64-bit computing opens a lot of doors for hardware and software developers. Because 64-bit processors have twice the number of registers to work with, they can process twice as much information per clock cycle as 32-bit processors. That obviously means much better performance.
Another big advantage to 64-bit computing is addressing memory. Applications have traditionally been written to address the memory space available to 32-bit processing, which tops out at 4GB. If a system has more RAM than that, any applications that are designed to work with 32-bit processing will not be able to interact with any memory beyond 4GB.
By contrast, applications written for 64-bit operation can address and store data in up to 16 exabytes -- that's 16 billion GB -- of RAM. For memory-hungry applications that perform complex and data-intensive tasks (such as high-end graphics, video, or scientific computing tools), this alone can make a huge difference in performance, regardless of the number of registers that the processor has to offer.
In fact, 64-bit computing even offers some additional security because the routines used to interact with the processor are more secure than in 32-bit computing. What's more, the system heap (which is shared memory available to applications) is designed with both hard protections and stronger checksum algorithms that help protect against attempts to corrupt the addressable memory used by the operating system and applications.
Is Snow Leopard 64-bit?
Given the superiority of 64-bit computing in performance, memory use and security, it's no surprise that Apple is touting Snow Leopard's 64-bit capabilities as a selling point of the OS. However, over the past few weeks, bloggers from the likes of OSNews, Gizmodo and Ars Technica have pointed out that in pre-release versions of the operating system, the kernel, which provides the core functions of the OS, runs as a 32-bit process on almost all Mac systems that it is installed on.
This is true: The kernel in Snow Leopard is designed to load in 32-bit operation by default on most Mac systems. However, focusing on the kernel, which facilitates very low-level functions that generally don't benefit from 64-bit operation, is missing the real point of 64-bit computing in Snow Leopard.
As anyone using Snow Leopard on a Mac with a 64-bit processor can see by opening the System Profiler utility (located in the Utilities or accessible from the About This Mac dialog under the Apple menu), the vast majority of applications, kernel extensions and application frameworks in Snow Leopard run in 64-bit operation. This means that nearly all the core applications that ship with Snow Leopard (the Finder, Spotlight, directory services, the Dock, etc.) are running in 64-bit mode.
All of these application frameworks support 64-bit processing -- only a few frameworks, applications and kernel extensions load in 32-bit mode on Macs capable of 64-bit processing.
It also means that Apple has made all the pieces of the OS that application developers need to tap into (mainly frameworks) ready and able to accept any 64-bit applications. In other words, Apple is paving the way for developers to create new Mac software that performs better, faster and more reliably.
64-bit and 32-bit side by side
One of the biggest accomplishments of Snow Leopard is that 64-bit and 32-bit applications can run side by side with no disruption to or input from the user. Launch a 32-bit app and it works; launch a 64-bit app next to it and it works. Users don't need to be concerned with whether an application is 32-bit or 64-bit -- they'll just notice that 64-bit apps run faster and may be a little bit more stable.
Note that not all Intel-based Macs (which are the only Macs capable of running Snow Leopard) are 64-bit machines. The first Intel Macs, released in early to mid-2006, were built around Intel's 32-bit Core Duo and Core Solo processors rather than the 64-bit Core 2 Duo and Xeon processors. While only a handful of models (the first Intel iMacs, MacBook Pros, MacBooks and Mac minis) contain the 32-bit processors, it meant that Snow Leopard and the apps that run on it had to be designed to run in either 32-bit or 64-bit operation.
Apple has done this in its own applications and other system components, and the developer tools it provides for Snow Leopard make it easy for third-party developers to create products that can run on either 64-bit or 32-bit Macs. If a user's Mac is a 32-bit machine, it will simply run Snow Leopard and all applications in 32-bit mode.
It's also worth noting that Snow Leopard's predecessor, Leopard, was capable of running 64-bit applications when it shipped two years ago. However, at that time, many of the core applications of Mac OS X weren't written to take advantage of 64-bit operation, and neither were most third-party apps.
Today we're at a midway point between 32-bit and 64-bit computing. What Apple has done in Snow Leopard is to ensure that almost any part of the operating system can run in either 32-bit or 64-bit operation -- and that by default, the vast majority of components run in 64-bit mode.
Ryan Faas is a frequent Computerworld contributor specializing in Mac and multiplatform network issues. His newest book,iPhone for Work: Increasing Productivity for Busy Professionals, will be available from Apress this fall.