Snow Leopardの深層・その1
やっぱりスゴい! Snow Leopardの「64bit対応」
2009年09月01日 12時00分更新
その2:カーネルを64bit化
なぜ64bitカーネルを使わない?
Snow Leopardにおけるもうひとつの64bit化は「カーネル」だ。
カーネルとはOSの中核部分で、OSの起動時にメモリー上に読み込まれる。デバイスドライバーを通じてIOデバイスを管理したり、各プログラムにCPUやメモリーを振り分けたり、不適切な操作でシステムが破壊されないようにセキュリティーを確保するといった役割を担っている。
Leopardまでで64bit化された「Cocoa」や「Carbon」といったフレームワークと、Snow Leopardで64bit化されたアプリケーションに加えて、カーネルも64bit対応を果たしたことで、上から下まですべてが64bitのシステムになったわけだ。
そうした状況がありながら、Snow Leopardは、ほとんどのMacにおいて32bitカーネルで起動するようにしている。
64bitカーネルを使うには、64bitカーネルの起動に対応したEFIをファームウェアに持つMacを用意して、「6」と「4」のキーを押しながら起動することになる(例外として、最新のXserveのみ64bitカーネルで起動する)。64bitカーネルを扱えるのは、2008年以降の比較的新しい機種に限られる。
機種 | リリース時期 | 機種ID | 64bitを 標準使用 |
---|---|---|---|
Mac Pro | Early 2008 | MacPro3,1 | ─ |
Xserve | Early 2008 | Xserve2,1 | ○ |
Macbook Pro 15/17インチ | Early 2008 Late 2008 |
MacBookPro4,1 | ─ |
iMac | Early 2008 | iMac8,1 | ─ |
MacBookPro 15インチ (ユニボディ) |
Late 2008 | MacBookPro5,1 | ─ |
MacBookPro 17インチ (ユニボディ) |
Early 2008 | MacBookPro5,2 | ─ |
Mac Pro | Early 2009 | MacPro4,1 | ─ |
iMac | Early 2009 | iMac9,1 | ─ |
Xserve | Early 2009 | Xserve3,1 | ○ |
高速化の反面、デメリットも
では32/64bitのカーネルでは、どれぐらい性能差があるだろうか? Mac OS Xでお馴染みのベンチマークソフト「Xbench」、数値計算を主体としたオープンソースのツール「iBench」、UNIXでディスクIOのベンチマークとしてよく利用される「Bonnie」という3本でベンチマークを試してみた。iBenchとBonnieについては32bit版/64bit版の双方で取得している。
6P目にまとめたテスト結果を見ると、XbenchやiBenchではほとんど性能差が見られない。これは、通常の演算ではほとんどカーネルが介在しないからだ。一方、Bonnieでは明らかに64bitカーネルの方が速い。ディスクIOはカーネル内部で処理しているため、それがベンチマークに現れた形だ。
もちろんカーネルの64bit化は、アプリケーションの64bit化と同じく高速化という点では意味がある。だからこそハイパフォーマンスが必要なXserveでは、64bitカーネルが標準で動作するようになっている。
一方で、カーネルを64bit化したデメリットもある。先ほどもアプリケーションのところで少し触れたが、64bitカーネルを使うためには、カーネルに組み込まれる IOKitデバイスドライバーやカーネル拡張(KEXT)も64bit化されていないといけない。「OSをアップグレードしたらデバイスが使えなくなった」では非常に困るだろう。
また、例えば仮想化ソフトウェアの「VMware Fusion」は、仮想化を実現するために、カーネルにいくつかのKEXTを組み込んでいる。現時点ではこれは32bitのみのため、64bitカーネルで起動すると仮想化環境が動作しなくなる。
大半のMacが32btiカーネルを標準で使う理由は、性能向上というメリットより、デバイスやVMware Fusionのような便利なソフトウェアが動かなくなるデメリットが大きいと判断されたからなのだ。

この連載の記事
-
第8回
iPhone
Macのバックアップ、Time Machineで始めよう! -
第7回
iPhone
もふもふしたい! Snow Leopardの赤ちゃんを激写 -
第6回
iPhone
18年越しの大改修! Snow LeopardのQuickTime X -
第5回
iPhone
GPUをフル活用する、Snow Leopardの「OpenCL」 -
第4回
iPhone
マルチコア時代の新機軸! Snow LeopardのGCD -
第2回
iPhone
一挙30連発! 画像で見るSnow Leopard新機能 -
第1回
iPhone
Mac OS X「Snow Leopard」インストール完璧ガイド -
第-1回
iPhone/Mac
もっと知りたい! Snow Leopard - この連載の一覧へ