このページの本文へ

前へ 1 2 次へ

Windows Info 第266回

年2回のWindows 10のアップデートに要する時間に大きな差 フルアップデートとサービステクノロジーアップデート

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

文● 塩田紳二 編集● ASCII

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

フルアップデートが今でも必要となる理由
しかしWindows 10のバージョンアップは落ち着きつつある

 Windowsのバージョンアップで、フルインストールが必要なのは、カーネルなどが大幅に更新され、デバイスドライバーなどカーネルモードで動作するプログラムすべてを入れ替えなければならないからだ。

 最近ではPCのハードウェアは大きく変わることはないが、かつてのPCは、さまざまなマザーボードや拡張ボードの組み合わせによって作られており、それぞれに個別のデバイスドライバーが必要だった。このため、Windowsは自分でハードウェアを調べて、適切なドライバーを自分でインストールしていくという構造になっていた。

 こうした仕組みは、デバイスドライバーの仕様が変わったときにも有効だった。デバイスドライバーに新機能が追加されるなどすると、デバイスドライバーのファイル自体も新しい仕様に合わせたものが必要になることがある。

 Windowsデバイスドライバーは階層構造になっている。たとえば、USBデバイスのうちHIDを扱うドライバーは、USBハブやUSBホストのデバイスドライバーの上位で動作し、USBホストのドライバーの下には、たとえば、PCI Expressなどのデバイスドライバーがある。

Windowsのデバイスドライバーはこのような階層構造になっている

 Windowsの初期化では、PCI Expressなどの「下層」からデバイスを探索する。デバイスが発見されると、それに応じたドライバーを自分の上に組み込む。PCI ExpressならUSBホストやGPU、SSDのコントローラーなどが接続しているため、これらのデバイスが発見され、デバイスドライバーが組み込まれる。

 このうちUSBホストのデバイスドライバーは、USBに接続されているUSBハブを見つけるとそのデバイスドライバーを自分の上位に接続する。このようにして、メモリ中にデバイスドライバー(デバイスオブジェクト)のデータ構造ができていく。このとき、デバイスドライバー間の接続方法が変わることがある。その場合、組み込み作業をゼロからする必要がある。

 デバイスドライバーの仕様にも、ソフトウェアのようにバージョンがつけられている。たとえば、ディスプレイ用のデバイスドライバーには、WDDM(Windows Display Driver Model)という仕様があり、DirectXの機能に応じてバージョンが上がる。簡単に言えば、DirectXに新機能が追加されると、それに応じてデバイスドライバーの仕様(WDDMバージョン)が変わり。この仕様に対応したデバイスドライバーを用意すれば、新機能が使えるようになる。

 ディスプレイ以外のデバイスドライバーにも仕様がある。Windowsのデバイスドライバーには、WDM(Windows Driver Model)という基本構造があり、デバイスドライバーは大きくカーネルモードドライバーとユーザーモードドライバーに分かれる。それぞれを開発するのにKMDF、UMDFというソフトウェアを利用する。これは、Windows Driver Kitに含まれている。

 Windowsのデバイスドライバーの仕様は、KMDFとUMDFのバージョンで決まる。Windowsのカーネルにより、対応できるKMDFとUMDFのバージョンが変わる。互換性のために古いバージョンのKMDF、UMDFで作成されたデバイスドライバーでも動作は可能な場合があるが、バージョンアップに伴って加わった新機能は新しい仕様に準拠して作られたデバイスドライバーでしか利用できない。

 つまりWindowsカーネルのバージョンアップは、WDDMやKMDF、UMDFのバージョンアップに伴って起こる。基本的にカーネルの機能は、デバイスドライバー経由で利用することになるため、カーネルのバージョンアップとデバイスドライバー仕様のバージョンアップはほぼ同義である(もちろんバグ修正などでもバージョンアップするが……)。

 フルアップデートは、Windows 7からWindows 8といったバージョンアップで利用されてきた方法だ。これらのバージョンアップでは、Windows自体が全部入れ替えになり、デバイスドライバーも全部差し替わる。カーネルもやはりバージョンが違うものになる。

 その意味で言えば、これまでの春のアップデートは、こうした完全なバージョンアップだったと言える。逆にいうと、サービステクノロジーによるWindows 10のバージョンアップが導入されたのは、カーネルの大規模更新の頻度が落ちているからとも考えられる。Windows 10は、2015年に登場してから2019年にサービステクノロジーアップデートが導入されるまで、デバイスドライバーの仕様変更を含む大規模なバージョンアップを繰り返してきたが、それが落ち着きつつあると言うこともできそうだ。

前へ 1 2 次へ

カテゴリートップへ

この連載の記事

注目ニュース

ASCII倶楽部

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

ピックアップ

ASCII.jp RSS2.0 配信中

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