Windows 7とSnow Leopard、開発アプローチの違い



 Windows 7のRC版が公開され、一般ユーザーも含めて利用が可能になった。Microsoftが積極的に情報を提供しはじめた事で情報が溢れてきている。一方、Appleが6月8日から開催するWorld Wide Developers Conference(WWDC)では、Mac OS XのSnow Leopardのさらなる情報や発売日の公開が期待されている。

 Apple Developers Connectionに加入している開発者の元には、すでにWWDCでSnow Leopardについて多数のテクニカルセッションが設けらることが通知されている。WWDCは初日の基調講演を除いて守秘義務契約の元で各セッションが行なわれるため、すべての情報が公式なものとして発表されるわけではないが、Windows 7とSnow Leopardはどうしても比較されることだろう。

 各々のファンは、この両者を比較してどちらのアップデートが優れているかと議論するかもしれないが、両者はそれぞれ異なる目的とアプローチで開発が進められている。

●Windows 7とSnow Leopard、位置付けの違い

 昨年(2008年)のProfessional Developers Conference(PDC 2008)以来、Windows 7の開発チームを率いるMicrosoft上席副社長 スティーブン・シノフスキー氏が繰り返し話しているように、Windows 7の一番のミッションはOSコードをシェイプアップし、標準技術に積極的に対応して、ユーザーからの信頼を勝ち取ることだ。

 実際にMicrosoftのWindows開発チームに接しているデベロッパーなら既に感じているだろうが、Windows 7においてMicrosoftは実に丁寧に顧客の意見に耳を傾けている。

 誤解を恐れずに言うと、これまでのWindowsは、MicrosoftがPCをどのような方向へと導くのかを示すものだった。MicrosoftがAPIを実装し、それに対応したソフトウェアやハードウェアを作ってもらう(キツイ言い方をすれば作らせる)という関係だ。進化の方向と実装の方法はMicrosoftが完全に舵取りを行なう。

 ところがWindows 7は一部に最新技術・標準へと対応するための追加機能はあるものの、基礎部分への機能アップはない。基本的な部分では。周辺デバイスのサポートするフォーマットへの自動変換など、より使いやすくするための補助的機能が多数、それも新機軸のものが採用されている。その代わりに、徹底的にWindows Vistaを見直すことで顧客の望むWindowsを作り出そうとした。主従関係が逆転したかのようだ。

 筆者を含め多くのレビュアーがWindows 7に対して良い印象を伝えているが、これはあらかじめ予想されたことだった。Windows Vistaでは、開発した新しいOSプラットフォームでMicrosoftは最新のPC環境をサポートするために、さまざまな仕様変更を施した。その結果、チューニング不足となった。元々、素質はあったはずなのに才能を埋もれさせているようなものだった。

 古くなったWindowsのアーキテクチャを、今後も通用するOSへと再構築するために大手術を行なったが故に、互換性や体感的なパフォーマンスなど各部に細かな歪みを生み出したのがVistaだとするなら、その歪みを正してVistaへの不満を徹底的に改善したのがWindows 7だ。リリース前からパフォーマンスや安定性に良好な反応が出るのは当然とも言えるだろう。

 これに対してWindows 7と比較されることになるSnow Leopardへのアップデートは、Windows 7とかなり位置付けの異なるものになる。

 Appleは最初のMac OS Xをリリースして以来、パフォーマンスチューニングと必要な機能の追加、ユーザーインターフェイスの改良で、ひたすらに同じ同じOSプラットフォームを磨き上げてきた。10.0から10.3までは主にパフォーマンスチューニング、10.3から現在の10.5までは主に新しいコンセプトの機能実装がアップデートの中心になってきた。

 しかし10.6というバージョンになるだろうSnow Leopardは、OSの深い部分にまで立ち入った改良が加えられるが、ユーザーインターフェイスの改善や追加機能に関しては控えめなアップデートになると言われている。エンドユーザーから見た変化は小さい(それでも見た目のデザインには手が入るとも言われている)が、OSの基盤部分には大きな変更が入るアップデートになるようだ。

 位置付けとしては、ユーザーの不満を徹底的に解消する“改善の積み重ね”を重視したWindows 7に対し、将来に備えるための地ならしを行なうSnow Leopardといった違いがある。

●ハードウェアプラットフォームに依存するのがOSの常

 どんなOSにも、“旬”というものがある。現在、OSというとユーザーインターフェイスや付加機能を含めて言う場合が多いが、本来はハードウェアとソフトウェアの間を取り持つのが本業だ。ハードウェアの能力や構成、機能などが変化し、OS上で動作するソフトウェア技術のトレンドが変化すると、OSもそれに追随していかなければハードウェアの能力を活かせなくなったり、実現できるはずの機能ができにくかったりと、さまざまな弊害が起きてくる。

 Vistaの場合、16bitのWin16時代から建て増してきたAPIを最新のアーキテクチャへと変え、Windows NT 3.1(あるいはその前のVMS)から積み重ねた改良を、一度、最新のハードウェアやソフトウェア開発環境、あるいはネットワークサービスに対応できるよう、次の10年を担うOSとして大幅な改良を施そうとした。

 それはあまりにドラスティックな変化になり、Longhorn(一般にはVistaのコードネームだが、本来はVistaになる“はず”だったOSのコードネーム。両者はコンセプトがかなり違ったものだった)の開発に躓き、開発面でもマーケティング戦略面でも、超特急で結果を出さざるを得ない状況にMicrosoftは追い込まれた。

 本来のLonghornでは、当初、Microsoftはユーザーインターフェイスのデザインを大きく変える予定は無かった。見た目の変化は少なく、しかし中身は次の10年を担うに相応しい、全く新しい試みを仕込もうとしていたのだ。当時、Microsoftの開発者向けイベントは取材するのが実に楽しかったのを憶えている。

 「新しい時代を支えるOSを作るために、機能や先進性を絶対に諦めない。出荷日を守れなかったとしても、出来るまで開発を続ける」と、Microsoftの内部からは何度、話をされたことか。

 次の10年を担うというのだから、当然、GPGPUの活用からネットワークサービス中心のアプリケーション実行環境など、さまざまな新機軸が盛り込まれていたが、新しい試みをすべての分野で実施しようとした結果、開発の終わりが見えなくなってしまい、結局、開発のコンセプトを変えざるを得なかった。

 加えて新しいタイプのデバイスサポートやAPIの見直しなど、エンドユーザーからは見えにくい改良だけでは、“売れない”という意見が支配的になり、マーケティング的な理由からユーザーインターフェイスをはじめとする、表面的な機能も多数盛り込むことになった。

 このため、ユーザーから見るとVistaは「見た目ばかり派手になって、その中身は大して変わっていない」と見えたかもしれない。しかし、Longhornのコンセプトがすべて台無しになったわけではなく、Vistaは突貫工事の表層部分を除けば、プラットフォームとして確実に脱皮したものになっている。ただ、回り道をした分、完成度が低くサービスパックが出るまでの間、うまく良さを訴求できなかったわけだ。

 誤解を恐れずに言えば、Windows VistaはWindows 7になって、やっと完成形になったとも言えるだろう。

 一方、Mac OS XはもともとWindowsよりも進んだ設計思想を持っていたNEXTSTEPをベースにMacintosh向けにアレンジしたOSである。思想面で進んでいた分、不足する機能の実装やパフォーマンスチューンを重ねることで、充分に新しいハードウェア、ソフトウェアにもフィットしてきた。

 それがSnow Leopardで基礎部分に手を入れようとしているのは、次世代のハードウェア、ソフトウェア、そしてネットワークサービスも加えたアプリケーション環境に対応していくために、ここで足下を見直す必要に駆られたからだろう。

●Appleが考える次のトレンドをSnow Leopardに見る

 従ってWWDCでSnow Leopardの詳細が見えてくれば、Appleが今後のコンピューティングトレンドをどのように見ているかが見えてくる。端的な例がGrand CentralとOpenCLである。

 Grand Centralはマルチコアを有効に活用するための新技術だ。各コアに割り当てるプロセスを最適化し、プロセッサの稼働率を高めることでパフォーマンスを引き出す。こうしたプロセスの管理は、あまり複雑なことをやろうとしすぎると、かえってパフォーマンス低下を引き起こすものだ。

 しかし、本誌の読者ならご存知のように、クロック周波数向上よりも、コア数増加でパフォーマンスを引き上げる方向でプロセッサの進化が進んでいる。そこでプロセス管理をさらに強化してマルチコアを少しでも有効に使おうというわけだ。

 最大物理メモリが16TBに増加したことや、GPGPUのパワーをアプリケーションに開放するため、OpenCLをサポートするといった事も、基本的な考え方としては同じだ。メモリの価格が下がり64bitプロセッサ全盛の今なら、メモリ管理に手を入れてより多くのメモリ空間を手に入れた方が将来性を確実にできる。

 このほか、新しいQuickTimeの投入はコーデックの進歩やメディア流通の変化に対応するため、Java Scriptの高速化は、Webベースのアプリケーションが急増していることに対応するためのものだ。

 おそらく、これらSnow Leopardの進化ポイントは、Appleのハードウェア戦略とも中期的にはマッチしているはずだ。やや長めのスパンで見れば、OS改良の方向はハードウェア、すなわちMac製品の将来を暗示している。

 もしかすると、Snow Leopardにもエンドユーザー向けに、多少は「ちょっとカッコイイ」機能が加わるのかもしれない。しかし、それはSnow Leopardの本質ではなく、見えないところでジワジワと効く、プラットフォーム部分の進歩にこそSnow Leopardの価値がある。

 1つ懸念材料があるとするなら、それは将来に備えようとしたものの、技術トレンドの細かな変化に対し追随するのに手一杯で、プラットフォームの改善は果たしたが、ユーザーの体験レベルは落ちてしまうという、Vistaと同じ袋小路に入ることだ。

 だが、無数にあるコンピュータを1つのOSでカバーする必要があるMicrosoftと、自社の(しかも比較的最近の)コンピュータしかサポートしなくて良いAppleの立場では、スケールが違うため比較することなどできない。きっとSnow Leopardは初志貫徹で、コンピュータに詳しい人間に「お、上手い」とか「渋いなぁ」と言わせるような成果を挙げてくるのではないか。

バックナンバー

(2009年 5月 28日)

[Text by本田 雅一]