Posterous theme by Cory Watilo

Filed under: apple

On product cults

Yesterday, a friend of mine -- a Linux colleague and developer -- was chatting with me on the state of operating systems and so on.  I mentioned that I haven't been close to the last 2-3 years of changes on Desktop Linux.  He asked me why.  To which I replied it's because I've wholly moved myself to the Mac for desktop purposes.   Then almost reflexively I was told, "Ah, I thought this was just a diversion, but I see you have joined the cult."   

Read the rest of this post »

64-bit on Snow Leopard (MacOS X 10.6.x)

A lot of people have been talking about the 64-bit support in Snow cat in mixed ways.  "OMG it's not actually 64-bit! Apple is a bunch of dirty liars!"  ... and the like. 

Well actually it is.  Apple may not have communicated this effectively about how it's deployed.   But here are the facts:

  • By default, Snow Leopard boots into a 32-bit kernel, with a 64-bit capable application environment.  Most of the OS has been made 64-bit.  64-bit applications work fine on a 32-bit kernel.
  • Generally speaking, only newer Macs (late 2008/2009) will support the 64-bit kernel.
  • Apple XServes (Apple's server line) will boot 64-bit by default.  
  • On supported systems you can hold down the "6" and "4" keys on startup (until you get the progress wheel) and force the system into the 64-bit kernel.  Likewise, if 64-bit kernel is your default, you can hold down "3" and "2" and force it into 32-bit mode.
  • You can make either mode "sticky" by issuing the commands:
    • sudo systemsetup -setkernelbootarchitecture x86_64
    • sudo systemsetup -setkernelbootarchitecture i386
  • "i386" = 32-bit kernel, and "x86_64" = 64-bit kernel.
  • The change in defaults results in a change to the /Library/Preferences/SystemConfiguration/com.apple.Boot.plist file

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Kernel</key>
    <string>mach_kernel</string>
    <key>Kernel Architecture</key>
    <string>x86_64</string>
    <key>Kernel Flags</key>
    <string></string>
</dict>
</plist>

  • The change to 64-bit kernel probably will have no benefit for the majority of people.  Only people with a fast memory bus and lots of memory (>4GB) can see an impact.  64-bit kernels will require more memory and demand more out of your I/O so it may have a negative impact upon performance.  In short most people will see either no benefit or a negative one.
  • You may have problems due to the less than 100% 64-bit support in applications that use kernel extensions.   

As you can see below I have 8GB of RAM so 64-bit kernel sort of makes sense in my case.

I myself have not had problems with device support (USB mass storage - thumb drives, hard drives, firewire drives, USB cameras, USB headsets, HP 5590 USB scanner, VPN drivers, etc).   YMMV.   You're better off sticking with the defaults unless you're prepared  technically to understand what is happening when it goes wrong.   

The bottom line is that Snow Leopard *is* 64-bit, from an application perspective.  A 64-bit kernel is there if you want to run it (and can run it).  That the default kernel is 32-bit doesn't mean so much as there isn't tremendous demand for the kind of memory sizes and memory performance that 64-bit improves.

(download)