Windows 8のハードウェアとデバイスはどれだけ変わるか?
既報の通り、アナハイム・コンベンション・センターで開催されたイベント「build」においてWindows 8が正式発表された。一言でいうとWindows 8は既存のWindowsをOSの核としながらも、全く新しいOSだと言える。
勿論、既存の環境との互換性も考慮しているが、ユーザーインターフェースが一新し、またハードウェアに対する要求事項が大きく変わった。MetroやWinRT (Windows Runtime) でソフトウェアがどのように変わるかについては情報も多いので、この場ではハードウェアとデバイスとドライバがどのように変わるかに注目して報告する。
Windows 8では既存のデスクトップとMetroインターフェースを混在してサポートしている。このような互換性を持たせながらの導入手法は、MS-DOSの時代にDOSベースのWindows 3.1を市場導入した時を思い出す。そして新しいWindowsでは最早「Window UI」は互換と開発者のために残され、タイル・ベースのMetroが新しいユーザーインターフェースの主流となる。
Windows 8のハードウェア
そのためハードウェアに対する要求事項も相当数ある。Windows 8の新機能を有効活用するために、言わば快適な実行環境に必要とされているハードウェア機能を以下に挙げる。
- TPM
- UEFI
- LCD TSP (Windows Touch, INK)
- SSD
- WLAN (WiFi)
- GPS
- Display Resolution (1024x600, 1024x768, 1280x800, 1366x768, 1920x1080)
- Gyro Sensor
- Accelerometer
- Magnetometer (Compass)
- Ambient Light Sensor
- NFC (Near Field Communication)
- Webcam
- bluetooth
- 3G
- Windows Button
そして実際に会場では、このような仕様を全て備えたマシンが参加者に配られた。
さらにWindows 8 では以下のコネクティビティのサポートが加わった。
- USB 3.0
- Bluetooth LE (Low Power)
- WiFi Direct (High bandwidth, secure peer-to-peer)
一方でWindows 8ではSoCをサポートするため、新しいアプリケーション制御、デバイス制御、ネットワーク制御方法(Connected Standby)、グラフィック制御方法を導入し、メモリやCPUパワーの使用を抑えてシステム全体をより少ないハードウェア・リソースで長時間バッテリー動作させることに注力している。Windows 7よりも少ないリソースで動作するためatom やARM系CPUでもストレス無く動作するという。ここまでが本稿の導入部で、以降が本題である。
WDKの画期的かつ大幅な変更
WDKは今までのSDK等と同様にVisual Studio 11 (以降VS11)のアドインとして配布されるように変更される。このドライバ開発環境の徹底的なVS統合により、今までドライバ開発初心者が最初につまづく原因となっていた障壁が、ほとんど解決される様になる。以降変更事項が余りに多く、個々に文章で解説するのが大変なため、箇条書きで示す。各項目の詳細は今後、機会を見て少しずつ解説して行く。
- WDKのコンパイラのエンジンはVS11のものを使用する。
- WDKコンパイルでは、カーネルモード・ドライバのC++記述をサポートする。
- VS11のGUIからビルド・検証(PFD/SDV/Driver Verifier)・署名(証明書選択可能)・パッケージ作成・デバイス・ステージのメタデータ作成・デプロイ(ターゲットへの自動インストール)・WinDBGによるターゲットのカーネルモード・デバッグが実行でき、結果表示できる。
- デバッグターゲットを設定しておけば「F5」キー入力で前述のビルド・配布からWinDBG起動まで自動的に行う。
- 従来のコマンドラインのビルドもサポート。
- WinDBGはLAN経由でのターゲット・デバッグをサポート。
- WinDBGのUIフロントエンドはVS11となり、コマンドのインテリセンス化、ヘルプ自動表示、シンボルサーバー自動発見など、使い易い新機能が多数追加されている。
- サンプルはネットからだけの配布となる(新しいWHDC, 現在英語版だけ)
- ドキュメントはネットからだけの配布となる(MSDN)
- サンプル・ドライバのデバッグ用アプリケーションはMetrol UI版が用意され、Metro UIの利用を推奨。
- 従来のWDTF (Windows Device Testing Framework)は、新たにADK (Assessment and Deployment Kit) となり、従来のWLKのロゴテスト(DTM) 相当のテストに加えて各種機能・性能テストができるようになる。
- アプリケーションのMetro化に伴い、ドライバの配布・インストール方法がかなり変わる。基本的にドライバ・パッケージにはインストーラを含ませないようにして、Windowsアップデートかシステムのドライバの自動検索によってインストールさせる。
- WDFの新バージョンは1.11、Windows 8ではWDFコ・インストーラはインストール済なので、Windowsパッケージに含める必要はない。(昔から最新版はインストール済だったので、サンプルのINFがそのように対応したという事)
- Windows 8 WDKで開発可能なターゲットOSはWindows Vista以降。Windows XPはサポートしない。
ここまでの解説で、ドライバ開発が恐ろしく簡単になったと嘆かれる開発者の方もいるかも知れない。しかしVS11の裏側で実行されていることはWinDBGがLAN対応になったほかは、今までの開発と全く同じである。実際に自分で使ってみると、まだ開発版ということもあり、ネットワーク認証や開発ターゲットのOSやアーキテクチャの指定など、ハマる場面もいくつかあるので、いままでのノウハウは決して無駄とはならない。
セッションでの質問で判明した気になる点は以下の通りである。
WDKが組み込めるVS11はUltimate 以上の予定。Express版には対応しない。それでは初心者やセミナーでは使えなくなるとの質問に対して、VS11の試用期間は最大90日あるので、それで対応して欲しいとのこと。
WPP Tracing (ETW)は現在のところVS11の統合環境には対応していない。サンプルは対応していてビルドもできるがメッセージ出力は、今まで通りTraceViewを使って欲しい。
Windows 8 ではWindows Logoが無くなる
ここからは未だにWHQLと呼ぶ人もいる、Windowsロゴ(Windows Logo Program)の話題である。
Windows 8からは、今までの"Windows Logo Program"と呼ぶ実体を示さない名称を止め、Windows Certification Programが新たにスタートする。Programへの適合を証明するCertification Testを実施する環境は、操作方法をこれまでのLogo Testからかなり改善したHCK (Windows Hardware Certification Kit) としてWindows 8のベータ版配布のころまでに配布が始まる。HCKの実行にはWindows Server 2008 R2が必要。HCKではC#とPower Shellで記述して、テスト内容の編集や自動実行が可能。
それから、今まではデバッグやLogoテストの事前検証作業として、結構な手間をかけてDTM環境を立ち上げていたが、HCKと同じテストを前述のADKで実行できるようになるため、HCKは純粋にCertification Testを実行してWindows Certificationの申請のためだけに利用することになる。
これ以上の詳細は、buidのサイトでPPTとビデオが公開されているので参照して頂きたい。
- Atomu Hidakaさんのブログ
- ログインしてコメントを投稿