笠原一輝のユビキタス情報局

Microsoft ダレン・ヒューストン副社長に聞く、ARM版Windowsの正体



米国Microsoftのダレン・ヒューストン副社長(コンシューマ&オンライン担当)

 かつてマイクロソフト株式会社において代表取締役を務めた、米国Microsoftのダレン・ヒューストン副社長(コンシューマ&オンライン担当)が、日本の記者団との会見に応じ、同社が進めるARMプロセッサ向けWindowsの計画に関しての質疑応答に応えた。

 この中でヒューストン氏はx86版とARM版のバイナリ互換に関してどのようにとるのかという質問に対して「現時点では詳細は決まっていないし、明らかにすることはできない。ただ1つだけ言えることは、ユーザーに面倒をかけるようなことにはしないということだ」と述べ、両ISA向けWindows上で動作するアプリケーションに関して、何らかの形でユーザーが意識しないでも済むようにすると明言した。


●コンシューマの選択がARM版Windowsの決定を後押しした

 今回Microsoftは、米国のプレスだけを集めたプレスカンファレンスとCES開幕の前日に行なわれた同社のスティーブ・バルマー氏の基調講演において、次世代のWindowsにおいて現在のISA(命令セットアーキテクチャ)であるx86だけでなく、スマートフォンやタブレットデバイスなどに採用されているプロセッサのISAであるARM(アーム、イギリスのARMがプロセッサベンダにライセンスしているコア)にも対応することを明らかにした(別記事参照)。

 Microsoftが今回こうした決断をしたことについてヒューストン氏は「過去エンタープライズユーザーは新しい技術を取り入れるのに貪欲で、コンシューマは新しい技術には保守的だった。しかし、今はそれが完全に逆転しており、コンシューマは常に新しい技術を望んいるし、イノベーションを牽引しているのもコンシューマで、まさに業界は転換点を向かえている」と述べ、コンシューマのニーズの高まりが次世代Windowsにおいて、x86とARMの2つのISAをサポートする決断の後押しになったと説明した。

 「決断に重要だったことは、クラウドの存在だ。クラウドは単なるインターネットではなく、デバイス間の橋渡し役になっている。例えば弊社の例で見ても、5,000万台のXbox 360のうち3,000万台がXbox Liveに接続され、15億台のPCがMSNなどのWebサービスに接続され、Winodws Updateによるアップデートには1カ月に5億回もの接続がある。このようにクラウドはすでにコンシューマユーザーにとって重要な存在になっており、複数のデバイスを持つことを促進している」と、PCだけでなく複数のデバイスを利用してクラウドに接続する機会が増えていることを指摘した。

 さらに、今後家電の世界でもデジタル機器がスマート化(つまりコンピューティング機能をもっていくこと)がより進むが、それらがARMアーキテクチャのプロセッサを採用していることを挙げた。「今後PCの世界と、スマートな家電の世界は1つの融合していく。その時に、スマートな家電のほとんどで採用されているARMをWindowsがサポートしていくことは重要なことだ」と、新たにARMをサポートすることで、現在Windowsでカバーすることができていない領域を取りに行くという意図があることも明らかにした。

●アプリケーションやデバイスドライバの互換性で顧客を悩ませることはない

 それでは、そのARM版Windowsは一体どのような姿になるのだろうか。ハードウェア寄りの取材が多い筆者にも気になるのは、両バージョンのWindowsにおけるアプリケーションのバイナリ互換性だ。現在のWindows 7の直接の先祖となるWindows NTには、x86版だけでなく、PowerPC版、Alpha版という別のISAをサポートしたバージョンが用意されていた。しかし、それぞれの異なるISAには、異なるバイナリ(Windowsでいえば.exeの拡張子がついたファイル)を用意する必要があり、それがx86版以外のISA版のWindowsが普及しない要因になっていた。

 これに関してヒューストン氏は「アプリケーションの互換性やデバイスドライバの互換性の問題に関しては、社内ではすでに解決済みだ。スティーブの講演で見せたように、開発中のARM版Windowsにプリンタを接続すると使えたことはその1つの証明だ。そして何よりも大事なことは、ユーザーがそのような面倒から解放されることだ」と、最終的なリリース時には、アプリケーションやデバイスドライバの互換性に関してはユーザーが心配しなくて済むはずだと説明した。

 デバイスドライバに関しては、32bit版と64bit版がそうであるように別途、ARM版を用意しなければいけないが、アプリケーションの互換性はどのように維持するのかには複数の方法がある。例えば、64bit版のWindowsでは、カーネルの上にWoW64(Windows on Windows 64)という仕組みを用いており、WoW64の上で、32bitのアプリケーションが動作する環境を提供している。例えば、WoW64の代わりに、WoW ARMとでも呼ぶしかけを入れて、ARMバイナリをx86命令に変換して(あるいはその逆)アプリケーションを走らせる仕組みを入れることも不可能ではないだろう(ARM側のプロセッサがそれだけの処理能力を持っているかという議論はここでは置いておくとして)。

 そうした詳細を質問すると、ヒューストン氏は「現時点では詳細は答えられない」とだけ答えた。しかし、「我々としてはPC業界は、アプリケーションやデバイスドライバをARMにポーティングすることに協力的だと考えている」と、一部ではあるがそのヒントをくれた。つまり、アプリケーションもデバイスドライバと同じように、ARMへポーティングする必要があるというのだ。

 ではその違いはVisual Studioなどの開発環境で吸収するのかと訪ねてみると、「WindowsアプリケーションとWindows Phone 7を同じ開発ツール上で作れるようにするなど、我々は努力している。同じような考え方が適用される可能性はあるが、現時点では何も決まっていない」と答えた。

●32bit版と64bit版のように、x86版とARM版が1つのバージョンで共存

 気になるARM版Windowsの提供形態だが、ヒューストン氏は「組み込み向けのWindowsではなく、通常版のWindowsになる」と、エンドユーザーが自分でインストールして利用できる形を取ると明言した。

 また、Microsoftのリリースでは、x86やARMのSoCに対応したWindowsという表現になっていたため、SoC版というような形で提供になるのかという質問に対しては、「現時点ではどのような形で提供するかはお話しするには早すぎる。しかし、我々のシナリオは、同じバージョンのWindowsで、異なるカーネルが動作できるようにする。それは現在のWindows 7における、64bit版と32bit版の位置づけと同じようなものになるだろう」と、次期Windowsでは、1つのバージョンに対して、x86版とARM版が提供される形になる提供形態になることを明らかにした。なおヒューストン氏によれば、社内では次期WindowsのことをWindows 8という名前では呼んでおらず、そうは呼ばないで欲しいとした。

 現在のARM向けのOSのほとんどは、広告モデルの無償版(Android)か、ハードウェアベンダーによる独占提供(iOS)であるため、ARM版Windowsのビジネスモデルがどのような形になるのかにも大きな注目が集まっているが、これについてもヒューストン氏は「まだそれを語るには早すぎる」と提供形態についてのコメントを避けた。

 なお、ソフトウェアのビジネスモデルに関しての一般論としては「現在のソフトウェアのビジネスモデルは非常に複雑だ。ライセンスモデル、購読モデル、広告モデル、そしてハードウェアとの一体提供などのビジネスモデルがある。例えばApple、日本や韓国の家電メーカーはハードウェア一体モデル、Googleは広告モデル、ウォールストリートジャーナルは購読モデルになる。弊社はこれまではライセンスモデルだったが、一部には広告モデルも取り入れており、大事なことは、それらをどのようにバランスをとって収益を上げていくかだと考えている」と述べた。

 最後に、これまで長年の間“Wintel”と呼ばれ強固なパートナーシップで知られてきたIntelとの関係に影響がでるのではないか、と尋ねると「影響があるとは思わない。いわゆるWintelの関係はすこぶる良好だ。現在コンシューマ向けデバイスの多くはARMで動作しているが、それがWindowsで動くようになる。そこにはIntelにとっても大きなチャンスがあると考えている」と、今後もIntelとの関係には影響はなく、むしろ今回のARMに対応したWindowsのニュースはIntelがコンシューマ向けビジネスに乗り出す上で助けになるだろうと述べた。

●ソフトウェア開発者にとってはARM版への対応が明らかにされる次回のPDCに要注目

 このように、現時点では色々と決まっていない(ないしは言えない)状況であることはよくわかったが、それでもいくつかのヒントをヒューストン氏は与えてくれた。

 中でもPC業界にとってはx86のアプリケーションをARMにポーティングすることをいとわないだろうというのは重要な発言だ。ARM版Windowsに対応したアプリケーションをリリースするには、やはりARMのバイナリを作る必要があるいうことだからだ。論理的に考えれば、x86プロセッサよりも“非力”なARMプロセッサで、バイナリトランスレーションを実行すれば性能的にあまりに不利(逆はおそらく可能だ)で、やはりARM版Windowsに対応したアプリケーションを作るには、少なくともリコンパイルは必要になる可能性が高い。そして、Microsoftがそれを助けるような何らかの開発ツールを開発者向けに提供する可能性が高いことも言えるのではないだろうか。

 そうした意味で、今年(2011年)になるのか、来年(2012年)になるのかはわからないが、次回のPDC(Professional Developer Conference)は、ソフトウェア開発者にとって重要なカンファレンスになることは間違いない。おそらく、そこで、ARM版Windowsの詳細が説明されることになるからだ。

 コンシューマユーザーにとっては、ARM版であろうが、x86版であろうが、ユーザーが意識しないでも利用できるようにするとヒューストン氏が明言したことは一安心と言えるだろう。意識はしないが、インストーラがアーキテクチャを自動判別してインストールするのか、それともApp Storeのような形でそれぞれに適したバイナリをダウンロードする形になるのか、それとも何か別の形なのかは不明だが、いずれにせよテクノロジーにあまり詳しくないコンシューマにも簡単に対応できるように考慮されていることを期待したいところだ。

バックナンバー

(2011年 1月 14日)

[Text by 笠原 一輝]