|
|
| Windows 8の秘密がすべて明かされる、と期待したい「BUILD」が間もなく始まる。この新しいイベントは6月に台湾で開催されたパートナーイベントで日程が明らかにされた |
Microsoft主催の「BUILD」が、9月13日から始まる。Windows 8の情報公開を“勝手に”期待するこのイベントで、“なにがどこまで”明らかになるだろうか?
【BUILD:勝手に想像! 開催直前でWindows 8に期待すること】
・Windows 8に隠された秘密が明かになる1週間(のはず)
「BUILD」とは、2011年6月のCOMPUTEX TAIPEI 2011であった同社のパートナーカンファレンスで初めて明かされた名称だが、その内容は、ソフトウェア開発者向けの「PDC」(Professional Developer Conference)とハードウェア関連の開発者向けカンファレンス「WinHEC」、Webデベロッパー向けのカンファレンス「MIX」の3つを合体させたもので、開催日程は2011年4月のMIX11で予告されていた。
Microsoft関係者によれば、BUILDが単発のカンファレンスなのか、あるいは、PDCやMIXを含むカンファレンスを統合した形で今後も定期的に開催するカンファレンスなのかはまったくもって不明とのことだが、現時点で確実にいえることは、「Windows 8に関するすべての詳細が明らかになる初のカンファレンス」であるということだ。
Microsoftは、これまでもWindows 8の情報を断片的に公開している。まず2011年1月の2011 International CESで、Windows 8がARM SoC(System on Chip)で動作するデモを披露し、Officeやプリンタからの印字といった従来の作業がARM搭載デバイスでも可能な点を示した。
その後、4月のMIX11ではARM搭載デバイスでInternet Explorer 10が動いているデモを紹介し、Windows 8で標準搭載されるWebブラウザがInternet Explorer 10であることを示唆した。
6月には、米国のAll Things Digitalと台湾のパートナーイベントのそれぞれで、Windows 8のタブレットデバイス向けユーザーインタフェース(UI)を公開し、従来のWindowsとは大きく異なるコンセプトでデザインしている点を訴求した。もちろん、従来のWindowsで採用するUIや機能を切り捨てたわけではなく、ユーザーが切り替えて従来のインタフェースも選択できる。これは、タブレットデバイスで利用するのに適していない現行のWindows UIに対し、新世代のデバイスに適したUIを提供できるかというMicrosoftの回答の1つといえる。
●ARMで“PC版”ベースのアプリケーションは動くのか?
間もなく始まるBUILDでは、Windows 8の詳細が明らかになると期待されている。9月12日には報道関係者にBUILDで発表する情報を事前に公開するという“うわさ”もあるが、ここでは、Microsoftがこれまで明らかにしてきた情報を整理したうえで、事前に公開するという情報の“予想”にも挑んでみる、
まず、Windows 8について、現時点で明らかになっていない、または、疑問とされている項目をまとめておこう。
・ARM搭載デバイスにおける“PC版”ベースアプリケーションのサポート
・Windows 8のアプリケーション開発環境と配布方法
・Windows 8におけるエディション構成と提供モデル
これまで「ARMで動作する」「タブレットデバイス用に新しいUIを導入する」といった情報は公開されてきたが、その“内部”については明らかになっていない。そのため、「既存の“PC版”ベースのWindowsアプリケーションがそのまま動くのか?」「Windows 8では異なるデバイスをターゲットにして、どのようにアプリケーションを開発すればいいのか?」といった根本的な部分が不明だった。開発者向けカンファレンスのBUILDで、その秘密が明らかになることと期待されている。
MicrosoftでWindows 8の開発チームを率いるスティーブン・シノフスキー氏は、「Building Windows 8」という公式ブログをスタートさせ、BUILDに向けてWindows 8の情報を定期的に公開している。これまでに、従来のInternet Explorerを改良することやUSB 3.0のサポート、Mac App Storeにようなアプリストアの導入、Hyper-Vのサポートといった情報が、シノフスキー氏のブログで明らかになっている。だが、前述のような“PC版”ベースアプリケーションのサポートや、Windows 8をターゲットとした開発環境については、このブログでも触れられていない。そこで、これらのポイントがそのような扱いになるのか、その可能性について推察してみたい。
●ARMで“PC版”ベースアプリケーションは動く?開発環境は?
現役のARMがx86系CPUと比べて非力なことは語るまでもない。その一方で、既存の“PC版”ベースのアプリケーションを動作させるにはx86系CPU向けに記述されたネイティブコードをバイナリトランスレーション、あるいは、エミュレーションの形で実行するしかない。これらをARMで実行すると、パフォーマンスの大幅な低下が予想される。そのため、ARM版Windows 8では“PC版”ベースのアプリケーションをサポートしない、あるいは、非常に限定的なサポートになる可能性が高い。
ARMとx86では命令セットが異なるため、そのままでは互いのネイティブコードを実行できない。x86であればARM環境のエミュレーションを実行するのに十分なパフォーマンスはあると思われるが、x86向けに専用バイナリを用意したほうが実行効率は高い。
そのため、Visual Studioのような開発環境では1つのソースコードでARMとx86の2つのプラットフォーム向けのアプリケーションを開発できるようにして、コンパイルで2つのターゲットに向けた2種類のバイナリを同時に生成することが考えれる。この場合、開発自体はx86マシンで行うことになるが、動作検証のためのARMエミュレータが同時に提供されるだろう。これは現行のWindows Phone 7と同様だ。
問題はアプリケーションの配付形態で、前述のようにWindows 8がアプリストアを導入するのであれば、オンライン購入時にターゲットデバイスに適したバイナリがダウンロードできるようにすればいい。DVDのようなディスクメディアの配布であれば、2種類のバイナリが1枚のディスクに収録され、インストールで適切なバイナリが導入されるというユニバーサルバイナリの仕組みになる可能性がある。
ただ、台湾で開催された6月のパートナーイベントであった「すべてのアプリケーションはHTML5で記述される」という発言に注意する必要がある。Officeを含むすべてのアプリケーションがHTML5を採用する可能性は低いと考えたいが、「共通コードで複数デバイスをターゲット」という目的を優先させる場合、HTML5も選択となりえる。そうなると、アプリケーションの種類や配布形態によって、ハイブリッドに環境が使い分けられるようになると考えられる。
さらに、ARMによる“PC版”ベースアプリケーションのサポートとの関連で、ネイティブコード生成においてもどこまで従来のハードウェア環境がサポートされるのかという点が問題になる。具体的には「ARM向けのWin32コードが記述できるのか」といったものだ。従来のWin32で動くことを前提としたアプリケーションがあったとして、ソースコードをリコンパイルするだけでそのままARMで動くのかという点がここでポイントになる。
ARMのパフォーマンスが低いこともさることながら、搭載するメモリもPCと比べて少ない。現状のスマートフォンに搭載されたARMがシングルコアで1GHz駆動、搭載するシステムメモリの容量が256~512Mバイト程度、ハイエンドモデルでも1~1.5GHz駆動のデュアルコアでシステムメモリが1Gバイト搭載であることを考えれば、その動作環境はWindows XP時代の初期に近い。
Windows 8の登場時期が2012年後半であり、そのころにはクアッドコア搭載やDirectX 11サポートが標準になったARM Cortex-A15世代が登場して、パフォーマンスやリソースの問題がある程度解決する可能性もある。だが基本的には、PCより少ないリソースで、“PC版”ベースのアプリケーションをどこまで動作できるのか、あるいは、できないのかが、BUILDに参加する開発者が最も注目する情報になるだろう。
いずれにせよ、この違いすぎるハードウェア環境を意識したプログラミングが、Windows 8時代の開発者には求められるはずだ。
●Windows 8におけるエディション構成と提供モデル
Windows 8では、従来と同じくハードウェアにOSがプリインストールされた形で提供することが前提となり、OS単体のパッケージ販売が占める比率は低いとみられる。また、台湾のパートナーイベントで、Windows 8を導入するARM搭載デバイスは、登場当初において特定のハードウェアベンダーと特定のベンダーが供給するARMの組み合わせに限定するとMicrosoftが示唆している。
この通りになるとすると、従来のように、CPUやデバイスベンダーの組み合わせをユーザーが自由に選ぶことはできなくなる可能性が高い。これは、Apple製品のように、ソフトウェアとハードウェアがセットになった「より完成品に近いスタイル」を目指すためと思われる。
これまで明らかになっている情報から、Windows 8では、“Vista”や”7”のように、多数のエディションが提供されないと推測される。まず、ARM版についてはハードウェアが限定されており、OSのエディションを複数作る理由がない。一方、x86版については「機能をオンラインストアからパーツ単位で購入して拡張が可能」という情報もあるが、これが、従来の“Anytime Upgrade”を進化させた機能になるだろう。これが事実ならば、あえて多くのエディションを用意してユーザーに提供する必要はない。
Windows 8は「64ビット版」のみの提供となる可能性もある。その理由の1つが、“Hyper-V”の標準搭載だ。従来まで64ビット版のサーバOSのみに提供されていた「ハイパーバイザ機能」が、クライアントOSまで含めたすべてのWindowsに提供されるようになる。ハイパーバイザとは仮想化環境の一種で、OSよりさらに下の階層に位置してメモリやCPU、I/Oなどのリソースを適時OS間で割り当てて仲介する機能だ。OS上でOSが動作する従来の仮想化環境に比べ、パフォーマンスや互換性が向上するといわれている。
もし、Hyper-V搭載が必須要件となるならば、64ビットをサポートしないCore Duo以前のCPUにWindows 8を導入できない可能性がある。また、現状のARMは32ビット環境しかサポートしていない。Hyper-Vの性格から考えてもARMに搭載する必然性は少ない。MicrosoftがクライアントへのHyper-V標準搭載で何を実現しようとしているのかは非常に興味深いところだが、これがWindows 7で搭載された「XP Mode」をさらに拡張するものであるならば、Windows 8における“PC版”アプリケーションのサポートに対する考えが見えてくるようで興味深い。
以上、これまで得られた情報を整理して、BUILDで明らかになると期待したい項目をまとめてみた。いずれにせよ、価格や正確な発売日以外の主要な情報は、BUILDで明かになるはずだ。そもそも、新OSの名称が「Windows 8」なのか?といったことでさえ不明であったりする。まずは、次世代OSの正式名称がBUILDで明かされることになるだろう。PC USERでも、明らかになったWindows 8の最新情報をリポートする予定だ。
【鈴木淳也(Junya Suzuki),ITmedia】
【関連記事】
Windows 8がタイルUIを採用する意図、そして“面倒な制約”とは──ここまで判明、「Windows 8」詳報
Microsoftが本気だ! Windows 8のユーザーインタフェースを公開
2011 International CES:ARM対応ですべてのデバイスにWindowsを──Microsoft基調講演
MIX11:IE9を超えてパワフル!──「Internet Explorer 10」の本気を動画で見る
「この記事の著作権は +D PC USER に帰属します。」