12:04 AM - Snow Leopard and 64bit Kernel
Apple made a big deal about the capabilities of Snow Leopard (10.6). Systems typically boot a 32bit kernel, even in 10.6. You can check by going to System Preferences and then click on software. If you see 64bit kernel and extensions: Yes, then you know you're in a 64bit kernel.
To test out the 64bit kernel, hold down 6 and 4 keys when booting your Mac. It will load a 64bit kernel if your system supports it. You can also explicitly hold down 3 and 2 to get a 32bit kernel. On the Apple Xserves, it defaults to a 64bit kernel. Several sites report that Macbooks will only run 32bit kernels.
To keep your system in 64bit mode, try the utility discussed at this website: http://www.ahatfullofsky.comuv.com/English/Programs/SMS/SMS.html
Many device drivers such as the wacom tablet kext, vmware and parallels run in 32bit mode right now. Don't expect miracles. These programs will need to be updated to take advantage of 64bit computing.
Finally, you might be wondering what the big deal is about 64bit computing. The basic idea is that computers were limited to 4GB of RAM due to the nature of the processors they run. Most processors since the 386 support 32bit applications. Some might even remember the hype around Windows 95 which was one of the first operating systems to run anything in 32bit mode in the PC world. The key here is 32 bits. An integer is 32 bits long. This size limit also affects what programmers call pointers. A pointer "points" to a location in memory. Think of it like a child pointing to his little sister hiding in the corner. Since that number is limited in size, it can only point to so many memory locations. In the PC world, this limit is further reduced by things that have to get mapped into this address space like video cards. Anyone who's run windows vista on a PC with 4GB of RAM (32bit) will know that 3GB-3.5GB of RAM is all that you can use. Even worse, most programs are limited to 2GB of RAM or less. With a 64bit kernel, the size of these pointers has been increased. That means the computer can allow access to a lot more RAM both to individual programs as well as the entire computer. It solves the problem for several years. This is not the first time we've seen this happen. Older processors could address even less memory. Besides this obvious improvement, there are many other features on these processors. They include extra memory on the CPUs as well. These temporary pieces of memory are called registers. Without boring you further, just think of it as extra temporary slots or variables that the CPU can use at the same time without using your regular RAM. It makes them much faster. There is a catch though. In 64bit mode, pointers and other parts of programs are much larger. That means the cache on your processor (another kind of memory) will get used up faster. Some types of programs might actually run slower because of this.
You might be wondering why there's all this memory. Just remember that computers have two main kinds of memory, permanent and temporary. A hard drive, cd-rom disc, flash drive, or other media is permanent because it's still there when you turn off the computer. The remaining types get cleared when the computer is turned off. This includes random access memory (RAM) on the motherboard (main memory that you would see in an add like 4GB DDR2); L1, L2, and L3 cache on processors, GDDR3 RAM on your video card, etc. Cache memory is much more expensive, but faster than main memory. Each level is faster than the previous with L1 as the fastest. Part of what makes it fast is that it's not a lot of memory and it's structured differently.