勝手に想像! 開催直前でWindows 8に期待することBUILD(2/3 ページ)

» 2011年09月12日 22時17分 公開
[鈴木淳也(Junya Suzuki),ITmedia]

ARMで“PC版”ベースのアプリケーションは動くのか?

“すべてのサイズのデバイスにWindowsを”がWindows 8のコンセプトだ

 間もなく始まる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デバイスでビデオ再生を行う。タスクマネージャに4つのCPU負荷率が表示されているが、これはNVIDIAが開発中の“Kal-El”でデモを行っていることを示している

 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時代の開発者には求められるはずだ。

Copyright © ITmedia, Inc. All Rights Reserved.

アクセストップ10

2024年04月26日 更新
  1. ワコムが有機ELペンタブレットをついに投入! 「Wacom Movink 13」は約420gの軽量モデルだ (2024年04月24日)
  2. わずか237gとスマホ並みに軽いモバイルディスプレイ! ユニークの10.5型「UQ-PM10FHDNT-GL」を試す (2024年04月25日)
  3. 「社長室と役員室はなくしました」 価値共創領域に挑戦する日本IBM 山口社長のこだわり (2024年04月24日)
  4. 「Surface Go」が“タフブック”みたいになる耐衝撃ケース サンワサプライから登場 (2024年04月24日)
  5. QualcommがPC向けSoC「Snapdragon X Plus」を発表 CPUコアを削減しつつも圧倒的なAI処理性能は維持 搭載PCは2024年中盤に登場予定 (2024年04月25日)
  6. 16.3型の折りたたみノートPC「Thinkpad X1 Fold」は“大画面タブレット”として大きな価値あり (2024年04月24日)
  7. あなたのPCのWindows 10/11の「ライセンス」はどうなっている? 調べる方法をチェック! (2023年10月20日)
  8. アドバンテック、第14世代Coreプロセッサを採用した産業向けシングルボードPC (2024年04月24日)
  9. AI PC時代の製品選び 展示会「第33回 Japan IT Week 春」で目にしたもの AI活用やDX化を推進したい企業は要注目! (2024年04月25日)
  10. ロジクール、“プロ仕様”をうたった60%レイアウト採用ワイヤレスゲーミングキーボード (2024年04月24日)
最新トピックスPR

過去記事カレンダー