WDM
読み:ダブリューディーエム
外語:WDM: Win32 Driver Model
Microsoft Windows
で使われる
デバイスドライバー
の規格。
目次
Win32 Driver Model
Windows 95での問題
Windows NT系列での問題
転機
理想と現実
Windows Driver Model
Win32 Driver Model
元々は
Windows 98
と
Windows 2000
以降で搭載される、
Win32
用デバイスドライバーの統一規格のことを指した。
Windows 95 OSR2
で、Windows 98に先立って実装されている。
Windows 95での問題
Windows 95
は、
DOS
用ドライバー、
Windows 3.1
用ドライバー (拡張子.386)に加え、
VxD
と呼ばれるWindows 95用のドライバー(拡張子.vxd)をサポートしている。これらはWindows 3.1からの継承品でモノリシックドライバーであった。
これらはWindows NT系列の
マイクロカーネル
思想からは相容れない構造である。周辺機器の高度化、Windowsの機能強化に伴いドライバーの開発そのものが難しくなってきていた。
また、新たに登場した
USB
や
IEEE 1394
をサポートするにあたって、そのコントローラーを担当するドライバーと、それに接続される周辺機器に対するドライバーに分離して開発する必要があったが、モノリシックドライバーではそのようなサポートは不可能だった。Windows 95でUSBやIEEE 1394のサポートがすぐに実現できなかった理由もここにある。
Windows NT系列での問題
Microsoft
は将来的にWindowsのメインストリームをNT系列とすることを決定していたが、当時は
パソコン
の能力不足からそれは叶わず、信頼性を落とす代わりにパフォーマンスアップを図り、Windows 3.1とある程度の互換性があるWindows 95をメインストリームとしていた。
しかし、前述したとおりWindows 95ではドライバーの構造に難があり、同じものをWindows NTで使うことは出来ない(Windows NTのドライバーは最初から階層構造である)。
そのため、周辺機器メーカーはメインストリームであるWindows 95用ドライバーの開発に注力し、Windows NTのドライバーの開発は停滞してしまう、結果としてNTは普及しない、というジレンマを抱えていた。
転機
そこでMicrosoftは、Windows 2000のドライバーモデルを開発するにあたって、次のような野心的な(しかし無謀な)プランを立てた。
Windows 2000においては
DirectX
のフルサポートを行なうので、多くのドライバーを
カーネル
モードに移行させる
Windows 98とWindows 2000との間でカーネルモードで動くドライバーを統一させる
ドライバーモデルは一新し、Windows NT系列似の階層構造とする
Windows 98とWindows 2000との間で
バイナリ
レベル
互換
ドライバーとする
プラグアンドプレイ
をサポートする
これにより、ドライバーモデルは近代的なものになり、Windows 2000における周辺機器のサポートも充実するという一石二鳥の効果が狙えると考えられた。
理想と現実
Microsoftの掲げた理想は高かったが、現実問題としてWindows 98とWindows 2000との間で完全に同じドライバーを使いまわすことはできなかった。
オペレーティングシステム
(OS)の構造があまりにも違いすぎたのである。
それでも、Windowsのドライバーモデルのほとんどが共通化されたという点で大きな進歩であり、これ以降Windows 2000のドライバーも数多く出回るようになった。これが、Windows 98からWindows 2000へユーザーを移行させる大きな力ともなった。
Windows Driver Model
だが、最終的にMicrosoftはWDMのバイナリ互換性については放棄せざるを得なくなった。OSが64ビット化する時代が訪れたからである。
現状では、
64ビットマイクロプロセッサー
のサポート開始と共にドライバーモデルは
ソースコード
互換性に切り替えられ、それに伴いWin32 Driver ModelはWindows Driver Modelと改称された。
再検索