Issue:
Much ado was made about the Snow Leopard (10.6) version of Mac OS X being 64-bit capable, but what does that mean? Can I use 64-bits? Am I using it already?
Solution:
A bit is the smallest possible unit of digitized information; it is represented as a 1 (“on”) or 0 (“off”). All information processed by a computer is built up in a binary code out of bits. In practice, the standardized smallest unit of information that is handled individually by a computer is called a byte, which is a grouping of 8 bits. The terminology 32-bit or 64-bit refers to the maximum number of bits that can be
This means that “words” (i.e., combinations of bits presenting a single piece of information) can be twice as long in a 64-bit operating system than in a 32-bit operating system. Whereas a 32-bit operating system deals with at most 4 bytes (= 32 bits) of information at a time, a 64-bit operating system can handle basic units of information that are up to twice as large (8 bytes = 64 bits). For example, each additional bit in a binary number provides an additional power of 2 increase in the largest possible value of that number (i.e., 1 bit can have just 21 = 2 values, 0 or 1; 2 bits can represent 22 = 4 values, 0, 1, 2, or 3; 3 bits can represent 23 = 8 values, 0, 1, 2, 3, 4, 5, 6, 7; and so on). Thus, the largest unsigned (i.e., positive only) integer number that the operating system can utilize goes from 232 = 4,294,967,296 to 264 = 18,446,744,073,709,551,615.
The maximum size of a single binary “word” greatly increases, as noted above. This means that a 64-bit operating system can operate on longer binary words and, therefore, effectively perform operations faster than a 32-bit operating system.
Because binary words are also used as addresses to keep track of the location of information in the computer's physical memory (i.e., RAM), the 64-bit operating system provides a larger number of possible addresses, enabling the use of more memory. Each byte of information must have its own unique address, so the maximum number of bytes that the computer can keep track of in its memory is limited to either 232 bytes or 264 bytes. Thus, whereas a 32-bit operating system is limited to the use of less than 4 Gigabytes (= 232 / 1024 / 1024 / 1024 bytes) of RAM, a 64-bit operating system can, in principle, utilize up to 16 Exabytes of memory (= 264 / 1024 / 1024 / 1024 bytes = 18,000 Gb)! One should keep in mind two caveats of this:
In order to take advantage of 64-bit functionality, both the computer's processor (hardware) and operating system (software) must be 64-bit capable.
Snow Leopard can operate in either 32-bit mode or 64-bit mode. An important difference between operating in these two modes is that in 32-bit mode, when Snow Leopard comes across software that is compiled for 64-bit operation, it will still run it, with only a small (typically unnoticeable) degradation in performance compared to running the same software in 64-bit mode. On the other hand, when running in 64-bit mode, Snow Leopard can not run 32-bit software. Initially, Apple shipped Snow Leopard set to default into 32-bit mode, to enable greater backwards compatibility with existing 32-bit hardware and software. In mid-2010, this was changed so that some Mac models (e.g., Mac Pros) started shipping with Snow Leopard set to default into the 64-bit version of Snow Leopard. A list of Macs that use the 64-bit kernel by default is available on the Apple Support web site.
How to determine if your hardware is 64-bit capable
Because their processors only support 32-bit operations, there are some early Intel-based Macs that cannot run Snow Leopard in 64-bit mode. You can check if your computer is capable of booting the 64-bit Snow Leopard kernel by issuing the following command in a Terminal window:
ioreg -l -p IODeviceTree | grep firmware-abi
If the output of this command contains the string EFI64, then your computer can boot the 64-bit Snow Leopard kernel. If the output contains EFI32, then sorry, stop here, do not pass go – your computer cannot boot the 64-bit kernel.
How to determine if you are running in 64-bit mode
Select “About This Mac” in the Apple menu, then press the “More Info...” button. This will start /Applications/Utilities/System Profiler. Scroll down the “Contents” sidebar and select the “Software” category. In the “System Software Overview”, look for the “64-bit Kernel and Extensions” entry. If it says “Yes”, then you are currently running in 64-bit mode. If it says “No”, then you are running in 32-bit mode.
As noted above, even in 32-bit mode, Snow Leopard will run 64-bit software as 64-bit software. You can determine if software is running in 64-bit mode using /Applications → /Utilities → Activity Monitor. In the main Activity Monitor window (Cmd-1 to open this window if it does not open when the program starts), look for the “Kind” column. A value of “Intel” indicates that the associated application is running in 32-bit mode, while a value of “Intel (64-bit)” indicates (you guessed it) that the associated application is running in 64-bit mode.
How to switch between 32-bit and 64-bit
To switch between 32-bit and 64-bit modes on a non-persistent basis, reboot your Mac while simultaneously holding down the “3” and “2” keys (for 32-bit) or the “6” and “4” keys (for 64-bit).
To define a new default kernel that will be used every time you reboot your Mac, you must modify a system configuration preferences file. To select the 64-bit kernel, use the following command in a Terminal window:
sudo systemsetup -setkernelbootarchitecture x86_64
To select the 32-bit kernel, use the following command in a Terminal window: sudo systemsetup -setkernelbootarchitecture i386
The file modified by these commands is
/Library/Preferences/SystemConfiguration/com.apple.Boot.plist. Note that the non-persistent method described above will always override the setting in the preferences file.
OS Version Compatibility: Lion, Snow Leopard
Update Status: 18 April 2011 (added)
|