アップルはおそらくコンピューター業界の中で、最も「シームレスな移行」が得意な会社だろう。これまでにもSystem 6.xまでの初期のMac OS、System 7〜9までの旧Mac OS、そしてMac OS Xと、2度大きく進化させてきた(関連記事:林信行のLeopardに続く道)。
MacのCPUもモトローラの680x0系からアップル−IBM−モトローラ系のPowerPC、そしてインテルCPUと大きな変更を経験した。これは頭脳移植あるいは母語を変えるような大きな変更であるにも関わらず、アップルはユーザーをほとんどとまどわせることなく、うまく移行させてきたと言える。
アップルが、この「シームレスな移行」を成功させる鍵が、節目をなだらかにする、見た目の変化が少ないOSの作り込みだ。例えばSystem 7.1.2。これは前バージョンの7.1.1と見た目も機能もまったく変わっていないのだが、初めてPowerPCをサポートするOSだった。Mac OS 8.1はMac OS 8.0とそっくりに見えて、実はモトローラCPUに対応した最後のOSだった。Mac OS X v10.4.1はv10.4と、見た目も機能もほとんど変わらないが、インテルCPUに対応した。
今回発売された「Mac OS X v10.6“Snow Leopard”」は、まさにこのアップルの節目となるOSであり、「Mac OS X v10.5“Leopard”」と対をなすOSだ。LeopardがPowerPCに対応した最後のMac OS X。そして、見た目がそっくりなSnow LeopardがインテルCPUに全面最適化し、完全64ビット対応した初めてのOSである。
パソコンは常にハードとソフトが技術革新を競いながら進化してきた。ここ数年はソフトの進化が鈍り始め、CPUの過剰な性能も、GPUの過剰な性能も、安価になった大容量メモリも、やや持て余し気味の状態が続いていた。
しかし、本格的に64ビット対応を果たしたSnow Leopardが出てきたことで、今度はソフトのスペックがハードのそれを大きく上回るようになった。新OSがサポートするメモリは16Eバイト(エグザバイト)、今日市販されているどんなHDDよりもはるかに大きいものになっている。
これまでCPUのコアがいくつになっても、それをうまく生かしきることができなかったが、Snow LeopardではGrand Central Dispatchという機能がついて、より効率的に生かせるようになった。今後はノート型の製品でも、より多くのコアを搭載したCPUが求められるかもしれない。
もちろん、一方でこの圧倒的なハードウェア性能とソフトウェア性能をフルに生かした次世代のアプリケーションの誕生も期待されるところだ。Snow Leopardの発売からしばらくは、OfficeやPhotoshop、iLifeに続く次世代の定番アプリケーションを生み出す未来のスターが最も生まれやすい時期になるのかもしれない。
さて、ここでSnow Leopardの主立った特徴をおさらいしていこう。
まず最も目を引くのは64ビット対応だ。これまでのLeopardやTigerでも、部分的な64ビット対応は果たしていたが、Snow Leopardでついに全面的64ビット対応が実現し、Mac OS Xを構成するプログラムも、「Grapher」(グラフ計算機)などごく一部のアプリケーションを除くと64ビット対応になった。
Snow Leopardでは、このように32ビット版のアプリケーションも64ビット版のアプリケーションも、ユーザーは一切意識することなく同時に利用できるが、どのアプリケーションが32ビット動作をし、どれが64ビット動作をしているかは「アクティビティモニタ」を使って確認できる。
新しい「アクティビティモニタ」では「種類」の欄に、64ビットプログラムの場合は「Intel (64ビット)」と表示される。ちなみにSnow LeopardのOS関連ファイルを見ると「kernel_task」や「usbmuxd」などを除き、ほぼすべて64ビットであることが分かる。
実はMac OS Xの核である「kernel_task」も64ビット対応は果たしているのだが、プリンタなど一部の周辺機器との互換性を担保するために32ビット動作するようになっている。カーネルを64ビットモードで利用したい人は、「6」と「4」のキーを押しながらMacを再起動すればいい。すると下の図のように「kernel_task」が64ビットモード動作に切り替わる。
ちなみにMac OS Xは、Fat Binaryという仕組みを使って、1つのアプリケーションアイコンの中に、32ビット版のプログラムと64ビット版のプログラムを両方格納でき、32ビット版Macと64ビット版Macのどちらでもネイティブ動作させることができるのも大きな特徴だ。
OSの64ビット対応がもたらすメリットは主に2つある。1つは利用できるメモリ量が増加すること。これまでの32ビットOSでは、4Gバイトまでのメモリしか扱えなかったが、64ビットのSnow Leopardでは最大16Eバイトまで扱える。
もう1つは、CPUが一度に処理できる情報が引き上げられること。これにより、まったく同じOSでも倍の効率で情報を処理できる。パソコンのOSは8ビットから16ビットになったことで日本語が本格的に扱えるようになり、32ビット対応でPhotoshtopなどを使った本格的な写真編集や、動画編集もできるようになった(それ以前からも一応できてはいたが)。
OSの64ビット対応は、これから先、10〜20年の新しい技術革新を生み出す基盤になるはずだ。この64ビットのパワーが最も開花するのが、今回、Snow Leopardと一緒に発売された「Mac OS X Server v10.6 Snow Leopard」だろう。少し前まで64ビットコンピューティングと言えば、高性能サーバだけの特権だったが、今ではこのサーバOSを入れるだけで、Mac miniがその高性能サーバに早変わりする。
Snow Leopardでは、64ビット対応のほかにも、最新のハードウェアを生かす新技術が2つ搭載されている。1つ目は「OpenCL」だ。実は最近のPCでは、高度な画像表示を高速にこなすために、CPUに勝るとも劣らないグラフィックスプロセッサ(GPU)を搭載している。こうしたプロセッサはほとんどの場合、かなりオーバースペックで、本格的な3Dゲームなどをプレイしているときでもない限り、なかなかその処理性能を生かしきれていない。
Mac OS XはこのGPUの余剰パワーを、画像表示以外にも役立てる工夫を続けてきた。Quartz Extreme(Mac OS X v10.2で搭載)というOS内の機能だけが利用していた高速イメージ処理エンジン、GPUを使った画像処理をアプリケーション開発者が利用できるようにしたCore Image(Mac OS X v10.4で搭載)などがそうだ。
今回、Snow Leopardでは、このGPUを使ったマルチメディアデータ処理を、OpenCLというAMD、Intel、NVIDIAといった会社も賛同する業界標準技術として提案し、OpenCL仕様に沿って実装した。OpenCLはC言語ベースのプログラミング言語で多くのプログラマーが少ない労力で利用できることが期待されている。
Snow Leopardでは、Core ImageでもこのOpenCLを採用している。今後はこのGPUパワーを生かして、大容量のビデオや画像ファイルで高度な処理を実行したり、ゲームでより現実的な物理シミュレーションができるだけでなく、例えば財務モデリング技法をデスクトップの会計ソフトウェアや家計簿ソフトウェアに組み込むといったことも可能になるとしている。
2つ目は「Grand Central Dispatch」。名前からして難しそうだが、これは最近のMacのCPUが採用しているマルチコア構成を、より効率的に動かすための技術だ。
これまでのMac OS Xは、プログラムをスレッドという、より小さな単位に分けて実行していた。例えばアクティビティモニタは5スレッド、平常時のQuickTimeは9スレッドといった具合に実行単位を増やし、それをうまく複数のCPUに割り振っていた。このアプリケーションはこっちのCPUへ、このアプリケーションはあちらへ、と割り振るよりは、この小さなスレッド単位に切り分けたほうが複数のCPUを効率的に活用できた。
しかし、これまでのマルチスレッド動作では、新規ウィンドウを開く場合はスレッドを2つ増やすであるとか、再生したらスレッドを1つ増やすといったように、必要なスレッド数を決めうちで予想して確保する必要があった。足りなくなると困るので必要以上にスレッドを確保するプログラムも多く、一度、確保されたスレッドはなかなか解放されないことが多かった。
これに対して、Snow Leopardではスレッドの交通整理役となるGrand Central Dispatch(GCD)という機能が用意された。アプリケーションによって作られたスレッドは、一度このGCDに受け渡され、GCDの側でそのスレッドが本当に使われている場合だけ、処理に余裕のあるCPUに受け渡しをする。この交通整理機構が入ったおかげで、Snow Leopardでは、複数CPUをより効率的に実行できるようになった。
GCDが動いているところを確認したい人は、Snow Leopardにアップグレードする前に、まずはLeopardでアクティビティモニタを開き、各アプリケーションのスレッド数があまり変化しないことを確かめてから、その後、Snow Leopardのアクティビティモニタを見てみるといい。アプリケーションの利用状況に応じて、アプリケーションごとのスレッド数がダイナミックに変化する様子が分かるだろう。また、GCDはただCPUの負荷を軽くするだけでなく、消費電力あたりの処理能力にも影響するはずだ。
Mac OS Xの基盤テクノロジーでは、もう1つ、QuickTimeがQuickTime Xとして生まれ変わった。このQuickTime Xは、プレーヤーの見た目も大きく変わったが、実は中身もCocoa、Grand Central Dispatch、64ビットコンピューティングといった最新技術で作り直され、実行パフォーマンスが最大2.4倍も高速になっている。
同様にSnow Leopardでは、スリープからの復帰速度が2倍、シャットダウンの速度が1.75倍、ワイヤレスネットワークへの接続が1.55倍高速になったとされている。
Copyright © ITmedia, Inc. All Rights Reserved.