Mac OS X Snow Leopardレポート集となる
【レポート】話題のユキヒョウを追う「Snow Leopard、ココに注目」(1)
【レポート】話題のユキヒョウを追う「Snow Leopard、ココに注目」(2)- 64bit時代の到来
【レポート】話題のユキヒョウを追う「Snow Leopard、ココに注目」(3) - 互換性の謎を解く
もあわせてお楽しみください。

Snow Leopardのレポート第4弾は、「64bitカーネル」について。一部機種しかサポートされないものの、カーネルを含めた64bit化はSnow Leopardの見どころの1つであり、32bitカーネルと比較してどう異なるかはすべてのユーザが注目しているはず。それでは、その64bitカーネルについて検証してみよう。

64bitモードでカーネルを起動する

Snow Leopardは、すべての動作モードを64bitで統一することができる。アプリケーションの64bitモードでの動作はLeopardのときからサポートされていたが、カーネルは32bitモード固定であり、すべての動作モードが64bitで統一されてはいなかった。デバイスドライバなどのカーネル拡張機能(KEXT)も同様に、Leopardでは32bitモードオンリーだったものが、Snow Leopardでは64bitモードで動作可能となっている。

Snow Leopardのカーネル(/mach_kernel)には、3種類のCPUアーキテクチャに対応したバイナリを収録。32bitモード起動時は、xnuの「RELEASE_X86_64」が「RELEASE_I386」と表示されているはず

しかし、一部例外を除き、Snow Leopardのカーネル動作モードは32bitのまま据え置かれている。システムプロファイラの「システムソフトウェアの概要」に表示される「64ビットカーネルと拡張機能」は、64bit CPUを搭載したマシンですらほとんどが「いいえ」と表示される。それもそのはず、Xserveを除いたすべての機種で、カーネル/KEXTのデフォルトの動作モードは32bitに設定されているのだ(「【レポート】64bit完全対応のSnow Leopard、実はデフォルト起動は32bitカーネル!?」)。

とはいえ、それはデフォルト設定の話。64bit命令が実行可能なCPU、MacシリーズでいえばCore 2 DuoまたはXeonを搭載したマシンで、かつファームウェアが64bitモードに対応(64bit EFI)していれば、カーネルおよびKEXTが64bitモードという「フル64bit環境」で起動できる。

その方法は簡単。システムブート時に「6」と「4」を押し続ければOK。恒久的に64bitモードを適用したければ、ドネーションウェアの「Startup Mode Selector」を利用する手もある。なお、2009年型のMacBookは上述の条件を満たしているが、制限があるようで64bitモードは適用されないとの報告を耳にしている。

「Startup Mode Selector」を利用すれば、カーネルの動作モードを簡単に切り替えられる

今回のレポート執筆にあたり利用したマシンは、2009年1月に発売されたIntel Core 2 Duo 2.66GHz搭載のMacBook Pro 17インチ(Early 2009、MB604J/A)。ブート時に[6]キーと[4]キーを押してもStartup Mode Selectorを利用しても、どちらも問題なく64bitモードで起動したことを報告しておく。

64bitモードで起動したときのシステムプロファイラ。「システムソフトウェアの概要」を見れば、カーネルの動作モードを確認できる