先日、少し長い記事を書いて紹介したMac OS X Snow Leopardですが、少なくとも初期リリースのものについては32ビットカーネルとドライバーを使用するようです。
OS newsが掲載した “Snow Leopard Seeds Use 32bit Kernel, Drivers by Default” の記事によると、Snow Leopardは完全に64ビット対応になっているものの、サードパーティのドライバに起因する問題(つまり対応が間に合わない可能性を考慮して)により、一部の製品を除いてデフォルトでは32ビットモードで起動するようです。

表中のK64 statusが、Defaultになっている製品に関しては64ビットカーネルで起動し、Capableになっているものは64ビットカーネルで起動できるがデフォルトでは32ビットで起動するようです。なお、さらに古い製品については、64ビットカーネルでは起動できない可能性があります。
64ビットと32ビットの切り替えについては、キーボードの6と4を押したまま起動すると64ビットモードで、3と2を押したまま起動すると32ビットモードで起動するようです。ちなみに、com.apple.Boot.plistを書き換えることでデフォルトを変更することも可能です。
自分のMacが64ビットカーネルで起動できるかどうかは、ターミナルで次のコマンドを実行することで確認できます。
ioreg -l -p IODeviceTree | grep firmware-abi
これは、搭載するEFIが32ビットか64ビットかを確認するためのコマンドです。旧世代Macでは32ビットEFIが搭載されており、その場合は64ビットカーネルを起動することはできません。
私のMacBookは、”firmware-abi” = <”EFI32″> という表示が出たので、Snow Leopardを64ビットカーネルで起動できないようです。
なお、32ビットモードで起動した場合に64ビットアプリが実行できないのかというとそういうわけではありません。ただし、カーネルやドライバーというのは例えるなら土台のようなもので、32ビットの上で64ビットを動作させようとすると逆三角形のような形になり、ムリが生じたり最大限のパフォーマンスが発揮できないということになります。
■ 関連する記事(自動表示)

(←次回記事検討のために感想を聞かせてください)