このページの本文へ

前へ 1 2 次へ

Windows Info 第265回

Windows 10のデバイスドライバーで見えた、今秋の大型アップデートの可能性

2021年03月07日 10時00分更新

文● 塩田紳二 編集● ASCII

  • この記事をはてなブックマークに追加
  • 本文印刷

20H1で導入されたWindows Driversという新ルール

 20H1では、このDCHUドライバーに対して、Windows 10Xのために、さらに新しいルールが課せられた、「Windows Drivers」が導入された(カタカナ表記すると混乱するので英文表記のままとする)。

 Windows 10Xでは、Windows Driversのみが利用できる。これに対して、従来の普通のWindows 10(正式にはWindows 10 Desktop)では、Windows Desktop DriversとWindows Driversが利用できる。簡単に言えば「Windows Desktop Drivers」は、従来型のドライバーで、「Windows Drivers」は、さらに強い制限を課し、WHCP(Windows Hardware Compatibility Program)により認証されたものだ。

 この「Windows Drivers」が必要になるのは、Windows自体を仮想マシン内で動作させるために、ドライバーの自動組み込みなどが必要になるからと考えられる。Windowsのアップデートを90秒以内に終わらせるには、ドライバー組み込みを手作業やインストーラーに任せることはできない。すべてのドライバーは一定の手順で機械的に導入する必要がある。「Windows Drivers」はそのためのルールである。たとえば、ドライバーファイルの置き場所なども決まっているほか、利用できるAPIが決められ、また、HSAは必ずMicrosoftストアからインストールすることになっている。

 Windows 10より前は、Windowsのデバイスドライバー開発は、ほとんど野放し状態で、インストーラーでどんなこともできた。ドライバープログラムの格納先や関連GUIアプリケーションの作り方、ドライバー内部構造など、Microsoftがただドキュメントとサンプルだけを提供していたため、どうにでも作ることが可能で、「動けば問題なし」という状態が長く続いた。しかし、これがデバイスドライバーに関わるさまざまなトラブルを招くことになる。

 これを解決しようとしたのがユニバーサルドライバーであり、DCHU原則である。さらにこれを整備して、厳密にしたのがWindows Driversとなる。今後は、多くのボックスドライバー(Windowsの標準デバイスドライバー)はWindows Driversに置き換わっていくと考えられる。

 サードパーティのドライバーなどに「DCHドライバー」という名称が付くのが、このWindows Driversに対応したものだ。たとえば、IntelのGPUドライバーの名称にDCHの文字が含まれている(過去にはDCHUを名称に含むドライバーもあった)。

 DCHは「DCH原則」のことであり、これは「Declarative」(宣言的)、「Componentized」(コンポーネント化)、「Hardware Support App」(ハードウェア支援アプリケーション)の頭文字を組み合わせたもの。DCHUは、これに「Universal」のUをつなげている。

 簡単に言えば、DはINFファイルの書き方などを、Cはドライバーのコンポーネント化を徹底すること、Hはドライバー設定のGUIアプリなどをUWP化することで、ドライバーを作る場合のルールである。

 DCHUではルールを定めたが、Windows 10Xではそれをより厳しくし、Windows Updateなどで確実にドライバーのインストールやアップデートできるようにする。というのも、Windows 10Xのすべてのアプリケーションは仮想マシンで動作し、ホストWindows側にはまったくアクセスができない。このため、ドライバーのインストールなどはWindows 10X自身でする必要があるからだ。もっとも、現在のWindows 10ではほとんどのドライバーはボックスドライバーであり、Microsoftが用意している。それでも、CPU/SoC関連、GPUなどのドライバーは、今後も新しいデバイスが登場し、サードパーティドライバーが常に必要になるだろう。

 最近のWindows Updateでは、ハードウェアドライバーなどの配布も可能になった。これは、DCHなどにより、一定の手順でドライバーを組み込むことが可能になったからだ。

 20H1で「Windows Drivers」の準備は整えたものの、おそらく、その後のWindows 10Xの開発が遅れたのであろう。今回の春のアップデートでは、カーネルなどを大規模にアップデートするのには至らなかった。このため、アップデートを小規模なものとして、カーネルなどの変更が不要な機能のみを先行して提供することになった。それが21H1であり、21H1がサービステクノロジーでアップデートされることになった理由なのである。

前へ 1 2 次へ

カテゴリートップへ

この連載の記事

注目ニュース

ASCII倶楽部

プレミアムPC試用レポート

ピックアップ

ASCII.jp RSS2.0 配信中

ASCII.jpメール デジタルMac/iPodマガジン