VAIO (7) 「マイクロソフトも入ってる」, Designed for Windows, WHQL

“Intel Inside”より数年遅れて、今度は Microsoftが “Designed for Windows” (DfW)というロゴステッカーを各社のPCに張るようになる。これは Windows 95の時に始まったプログラムだと思う。

win95_design

Windows 95用のDfW ロゴ

Intel Inside と同様に、これは、各社がPCにこのスティッカーを張ることで、マイクロソフトに支払ったWindowsのロイヤリティの一部がマーケティング用資金としてキックバックされる、という仕組みである。 Intel Insideと同様に、その資金で制作されたCMや印刷広告には、マイクロソフト指定のWindows ロゴや説明の文字列などを挿入しないといけなかった。

T700MRDfW

VAIO Tシリーズに張られた Intel Inside と DfW スティッカー。 Intelに比べて透明シールで目立ちにくい。 http://lancelot2.blog.so-net.ne.jp/2016-01-02 より

 

それ以外に、メーカー側に様々な条件が提示され、その条件を多くみたすほど、1台あたりのキックバック金額が上がるという「ポイント制」であったのは、”Intel Inside”と同様である。

“DfW”の数年後(1997年頃)に”Windows Hardware Qualification Laboratory” (WHQL, 長いので”ウィックル”と関係者には呼ばれている。)という仕組みがマイクロソフトにより導入された。これは、各社のPCの開発に大きな影響を与えた。

Windows 95以前のWindowsは MS-DOSのAdd-on であり、各PCメーカーがDOSを自社PCに搭載し、さらにWindows用にオーディオやグラフィックス用のドライバは各PCメーカーやボードメーカーがそれぞれ提供する、という状態であった。

‘90年代にWindows PCが複雑化していくにつれ、CPU, マザーボード、各種周辺機器のドライバを「寄せ集め」で組み合わせてWindowsを動作させることで、様々な不具合が発生するようになり、ユーザーやマニアは様々な「呪文」を “CONFIG.SYS”とか “AUTOEXEC.BAT”に書き込まないとPCが思ったように動作しない、というようなことが頻発した。これは、すべて一社でハード・ソフトを提供していたApple Macintoshに対して Windows PCがもつ大きな弱点であった。

Windows 95は依然として内部でMS-DOSが動作はしていたが、ユーザーにとってはWindowsのみをOSとして使わせる前提のシステムである。このWindows 95の後継バージョン Windows 98と同時期に”WHQL”のシステムも始まった。

“WHQL”はWindows を搭載する各社のPCのハードウェアとそのハードウェアのドライバの仕様について詳細な要求仕様と、さらにその仕様を満足しているかをテストするテストプログラムからなる。PCメーカー各社はこの”WHQL”テストに合格しないと、各PCに”DfW”ロゴが張れなくなり、キックバックも受け取れない。

マイクロソフトはWindows95導入当時は”VxD”というデバイスドライバのアーキテクチャを推奨していた。これは “Virtual DOS Driver”というもので、MS-DOSの延長上でマルチタスクに対応する、というやや無理なものであった。

Windows98 (1998年、code name “Memphis”) から “Windows Driver Model” (WDM)という Windows 専用のデバイスドライバモデルが提供され、このモデルに従った機器やデバイスドライバを使うことが”WHQL”合格の条件となった。”VxD”に比べて複雑なものであったので “WHQL”のような仕組みで強制しないと業界内で普及しなかったと思う。

1995年から2000年の時期、マイクロソフトは,WindowsをMS-DOSの延長上にあるマルチタスクやモバイルPCに向いていないOSから、より安定性高く、ワークステーションのUnixマシンのようにマルチタスクを実行し、かつモバイルPCのスリープ動作などにも対応するOSへの移行させることを目指していた。

これは、従来、サーバー用Windowsとして開発されていた “Windows NT” (1994年) を一般向けの”Windows”に移植する、という形で行われた。その結果、まず業務用の”Windows 2000” (2000年、code name “Cairo”) がWindows NTベースになり、続いて一般向けの “Windows XP” (2001年、code name “Whistler”) もNTベースになり Windowsの歴史上最大のヒット商品になる。

この5年以上にわたるOSの世代交代には、各PCメーカー、チップメーカー、周辺機器メーカーなどが、新しいアーキテクチャに事前に対応していく必要があり、そのために “WHQL”は重要な役割を果たしていたと思われる。短期的にはドライバを複雑なWDM対応にして、WHQLテストに合格されることは、PCの商品性にはあまり関係が無いので、各メーカーはこの仕組みがなかったらアーキテクチャの変更にもっと手間どったと思う。

Intelの「このCPU使っておけばOK」みたいなザックリしたプログラムではなくて、マイクロソフトの”DfW”と”WHQL”は非常に細かなところまで、PCの全要素をチェックするシステムで、この2社の行動様式の差がでてきて興味深い。

デバイスドライバのコードがWHQLテストに合格すると、「合格証」がもらえる。当初はこれは単なるファイルであったが、 Windows 2000の頃から電子認証的なもの(改竄できない電子署名)で、しかもそのドライバのバイナリのハッシュに連動していて、ドライバのコードに埋め込まれる。つまり、「合格」したコードは1 bitでも改変すると「合格証」は無効になってしまうのである。

そして、出荷するPCに入っているドライバのすべてが「合格証」付きであることが、各PCメーカーが”DfW”ロゴを使う条件になっているのである。また、ユーザーが周辺機器ドライバをインストールするときに「合格証」が無効あるいは不在のドライバだと Window 2000以後は「これは互換性が無い可能性があるドライバだが本当にインストールしてよいのか」みたいな脅迫メッセージをWindowsが表示するのである。

(この仕組みは現在も使われていて、かつ,Windowsのバージョンアップごとに強化されている。Windows8/10では、「合格証」のないドライバは特殊な設定をしないとインストールできない。)

これは、水平分業が進み、周辺機器のさらに内部にある半導体やそれを動かすドライバソフトなどがマイクロソフトとは直接の関係を持たない、世界中の様々な企業が作るようになってきているのに、どうやって管理するのか、という問題に対するマイクロソフトの考え出した答えだと思う。

VAIOのソフトウェアエンジニアのかなりの労力はこのWHQLに費やされていたと思う。大体、AV関係で新機能を導入すると、このWHQLが問題になり、Redmondのマイクロソフト本社に対応を交渉にいくことになる。そうするとなんとかなるのではあるが、その過程で、いろいろ技術的詳細を説明せざるを得なくなり、それが結局、Windowsの次の世代に反映されることになる、という恐ろしいシステムである。

Windows 98の頃にはこの仕組みは完全に回るようになっていたのではないかと思う。その結果、マイクロソフトがPCのハードウェアアーキテクチャをどう規定するか、というのが、業界全体の重大な関心事項となった。

そこで、同社は毎年 “Windows Hardware Engineering Conference” (WinHEC)という大規模なセミナーをPCメーカー、周辺機器メーカーのエンジニアを対象に開催するようになる。Windows PCの数年先までの技術的ロードマップは、このWinHECの内容とIntel のCPUロードマップでほぼ確定するようになる。

1990年代のWinHECは大体カリフォルニアで開催されていた。なぜか 1998年だけディズニーリゾートのあるフロリダ州オーランドで開催された。私は当時 VAIO Noteの米国側企画担当だったので、参加した。(実は家族旅行を兼ねていた。) 参加費はあまり安くはなかったと思うが、世界中から数千人ものエンジニアが集まり、巨大なホテルを借り切って開催するイベントの規模には圧倒された。

WinHECは2000年代に入ってしばらく「より小規模なセミナーを通年で各地で開催する」ということでしばらく開催されていなかったが、最近また中国シンセンや台北で毎年開催されているらしい。

 

WinHEC2017

2017年のWInHECは6月に台北で開催される予定。

また、この時期のPCのアーキテクチャに大きな影響を与えた規格に”Advanced Configuration and Power Interface” (ACPI)というものがある。これは1997年にインテル、マイクロソフト、東芝が共同で開発策定した技術仕様で、周辺機器の自動識別と自動構成 (Plug and Play)と、電源制御(システム全体のスリープや省エネモードの管理)を定めたものである。 同時期に”PC97”規格と呼ばれるPC互換機の標準仕様をインテルとマイクロソフトが策定している。これらも WHQLの仕様に組み込まれている。 “IBM-PC互換機”という、当時もうほとんど存在していなかった過去のIBM-PCとの互換性から、あらたに”業界標準互換PC”の仕様を定めたのがPC97規格やACPIであったともいえると思う。

zu_ACPI

ACPIの概念図。  http://www.atmarkit.co.jp/fwin2k/keyword/acpi/acpi.html より

日本では、NECが独自の”PC98”アーキテクチャを捨てて、”業界標準PC”をPC-98NXとして出したときには、この”PC97″規格準拠のPCとして発売された。

pc98nx_1

「新世界標準」PC98-NX (1998) http://www2s.biglobe.ne.jp/~masax2/98pmgz22/98jpg29.html より

 

windows-10-compatible-logo

最新の”DfW”ロゴ。 Windows 10用

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中