Preparing for 10.6 Snow Leopard: the 64-bit reality
Apple has announced that Snow Leopard will be available on the 28th of this month, which is only a few days away. In the mean time there are a lot of questions regarding 64-bit computing which are surfacing all over the internet since Apple has gone th
Written by Topher Kessler
Apple has announced that Snow Leopard will be available on the 28th of this month, which is only a few days away. In the mean time there are a lot of questions regarding 64-bit computing which are surfacing all over the internet since Apple has gone through great lengths to tout this technology in their latest operating system. So what exactly is 64-bit computing?
64-bit development at Apple
Starting with the PowerMac G5, Apple introduced 64-bit computing to the Mac platform, but software had not caught up with it. Apple made small modifications to Mac OS X, which allowed for 64-bit applications to address more RAM than the 4GB maximum allowed for by 32-bit systems. In addition, they modified the memory addressing aspects of the OS that allowed for more than 4GB to be available to the system as a whole, and shipped systems with 8 GB of RAM.
Since the introduction of the PowerMac G5, Apple has increased the capabilities of 64-bit computing in their software, but the system kernel and supporting applications have still been 32-bit. While Tiger and Leopard incorporated 64-bit processes and Unix subsystems to take advantage of the 64-bit architecture of the G5 and Core 2/Xeon, they were still 32-bit operating systems that ran a majority of their components in 32-bit mode. Only a few built-in processes were 64-bit, and 64-bit benefits came mainly from third-party developers.
So what is 64-bit, in reality?
The "bitness" of a processor is basically about one thing: number size. Computers work in binary notation so characters and numbers are represented by combinations of ones and zeros. A 4-bit computer would be able to work with numbers that are 4 binary units in size, giving 2^4 bit combinations to represent numbers, which allows for a maximum value of 16. That would severely limit a current processor's computing abilities. For current and older 32-bit processors this number has a maximum value of 2^32, or 4,294,967,295 units, and imposes limits such as having a 4GB cap on the amount of memory that can be accessed.
For 64-bit processors, the computer and applications that support it have the ability to manage numbers that are 64 binary units in length. This allows it to perform computations on integers and address memory spaces that are up to a value of 2^64 (18,446,744,073,709,551,615), unlike 32-bit computers which were limited to a value of 2^32 (or 4,294,967,295). These larger numbers translate to one thing: capacity, which so far has been primarily demonstrated by the maximum amount of RAM the system can use (breaking the 4GB limit for RAM, and setting it to 18 thousand thousand gigabytes--a lot!).
Because of the larger numbers, 64-bit computers and operating systems are capable of handling more at once, but this benefit is task-specific and depends on the programming of applications. Most home applications will not benefit from being 64-bit capable, but scientific modeling applications, creative professional applications, and technical applications will greatly benefit from it.
For most home users, running 64-bit vs 32-bit modes will be indistinguishable, especially for current applications. The 64-bit capability of the operating system is going to be primarily beneficial to programmers who can take advantages of the efficiencies the architecture provides.
Snow Leopard both 32 and 64-bit?
Unlike previous versions of OS X, in Snow Leopard Apple has finally provided a true 64-bit operating system from the kernel up through the kernel extensions and system processes. However, in reality Snow Leopard is provided in both 32-bit and 64-bit flavors and loads the 32-bit kernel by default, so why would Apple do this after advertising 64-bit capabilities?
The first reason is application compatibility. While 64-bit apps will run on a 32-bit kernel, and 32-bit apps will run on a 64-bit kernel, the "bitness" of the kernel will limit what kernel extensions can be loaded: a 64-bit kernel can only load 64-bit extensions, and a 32-bit kernel can only load 32-bit extensions. Most applications do not have their own kernel extensions they use, but a few rely on them for functionality. For instance, VMWare and Parallels install kernel extensions to provide network environments to the virtual machines, which in their current 32-bit only versions will not load on a 64-bit kernel. As such, if you load a 64-bit kernel you will get an error when trying to run Windows from within the Mac OS.
The second reason for loading a default 32-bit kernel is that some of the first Intel Macs were released with 32-bit Core Duo and Core Solo processors. Even though the requirements for Snow Leopard are an Intel Mac, these early Intel Macs will not run a 64-bit kernel but will run other intel-optimized code. These processors will also only run 32-bit versions of applications so any that do not support 32-bit modes will not run.
Why no 64-bit PowerPC support?
Besides being 32-bit only, the PowerPC G4 is an old chip and few people expected Apple to support it with Snow Leopard. However, with the PowerPC G5 having features such as 64-bit and multiple cores that could run Snow Leopard well, many people were quite disappointed to see it not be supported in the new OS, leaving relatively new machines unable to run the latest OS (the last G5s shipped in August 2006).
Very few resources claim any technical reason why Apple would abandon the PowerPC G5 in Snow Leopard, but according to this Appleinsider article, the PowerPC G5's slight performance hit when running 64-bit applications may have been a factor in convincing Apple to drop it. This and the opportunity to optimize their operating system for a specific architecture lead Apple to support only their future chip architecture, even though the G5 could technically have run Snow Leopard just fine.
What does 64-bit mean for the average user?
For most home users, the move to 64-bit computing in Snow Leopard will mean absolutely nothing. There will be no major speed bump (beyond those provided by other optimizations) or any difference in how your computer behaves unless you perform computations on large amounts of data, which will be appealing to creative professionals and technical professions. As applications are developed to use 64-bit technologies, they may start requiring the Snow Leopard kernel to be booted into 64-bit mode, but this requirement should take a while to develop. In the mean time there should be plenty of backward compatibility (kernel extensions developed with both 32-bit and 64-bit code) to ensure applications run seamlessly.
Think about 64-bit capability as adding a carpool commuter lane to a highway. If you have cars (applications) that have enough passengers and can use the commuter lane then you may at times see a benefit based on traffic conditions, but if not then the cars will have to use the normal lanes. Regardless of the lanes being used, however, there is still a cap on the overall speed limit so even if there is only one car in the commuter lane it cannot just zip on through.
Topher has been an avid Mac user for the past 10-15 years, and has been a contributing author to MacFixIt for just over a year now. One of his diehard passions has been troubleshooting Mac problems and making the best use of Macs and Apple hardware both for family and friends, as well as in the workplace. He and the newly formed MacFixIt team are hoping to bring enhanced and more personable content to our readers, and keep the MacFixIt community going here at CNET. If you have questions or comments for Topher or the other MacFixIt editors, feel free to contact us at http://www.macfixit.com/contactResources