Windows 8では、USB 3.0が正式にサポートされる。もちろんWindows 7でも、USB 3.0と対応デバイスは使えている。しかしWindows 8では、新規のデバイスクラスなどが追加されるとともに、USB 3.0がインボックスドライバー(Windowsのインストールパッケージに付属するドライバー。自動でインストールされる)となるのだ。
Windows 7までは制限付きだった
OSのUSB 3.0対応
Windows 7でもUSB 3.0は対応している。しかし、2009年8月にRTM版を提供開始したWindows 7の場合、その時点ではUSB 3.0に対応しておらず、のちのアップデートにより対応した。実はWindows 7のUSB 3.0対応は、Windows 8でのUSB 3.0対応部分をWindows 7用に手直ししたものとも言える。このように、新しいバージョンに装備される機能を、古いバージョンのシステムへ持ってくることを「バックポート」という。
ただしWindows 7のUSB 3.0対応では、本体が動作中に使われていないデバイスを休止させて消費電力を下げる「USBのセレクティブサスペンド」に一部の機能が対応していないなど、多少制限のあるものだった。
セレクティブサスペンドとは、稼働中にUSBデバイスを停止させて消費電力を削減する仕組みだ。しかしUSBハブもUSBデバイスの一種なので、あるポートから先のデバイスが、ハブを含めてすべて停止中という状態もありえる。このときに、そのデバイスのつながりの一番末端にあるマウスが動いて、通常状態に復帰する場合を考えると、ホスト側から途中の経路にあるデバイス全部を通常状態に戻す作業が必要だ。これはかなり複雑な動作となる。
Windows Vistaで初めて導入されたセレクティブサスペンドは、電源オプションの設定項目として追加された。そしてマイクロソフトは段階的に、各USBデバイスクラスをセレクティブサスペンドに対応させてきた。Windows 8ではWindows 7では対応していなかった大容量ストレージ(デフォルトではオフ)や、ネットワークアダプター、そしてWindows 8で新規に対応した「USB Attached SCSI」(UAS)デバイスなどがセレクティブサスペンドに対応した。
USBの進化とWindowsによる対応の歴史
WindowsのUSB 3.0対応を理解するためには、USB 2.0までのWindowsにおけるUSB対応の歴史を振り返る必要がある。PCのマザーボードに置かれたUSBを制御するホストコントローラーの、ソフトウェア側とのインターフェース(HCI、Host Controller Interface)は一定の仕様になっている。一定の仕様とすることでハードウェアの違い、例えばCPUの世代交代によるチップセットの変更などに依存せず、デバイスドライバーを利用できるようにするためだ。
その反面、インターフェースの定義の際に将来の拡張を考慮しなければ、いつかはドライバーを書き換えなくてはならなくなる。だがPC関連の進歩は早く、数年先を予測することは困難だ。
Windowsのドライバーは、共通機能を「クラスドライバー」としてまとめている。実際のデバイスでは、クラスとの違いを「ミニポートドライバー」として実装し、これらを組み合わせて使うようになっている。また、デバイスはPCIバスやその先のUSBホストコントローラーなどを介して接続されるため、ドライバーも階層構造を取る。
USB 1.1の頃には、「UHCI」(Universal HCI)と「OHCI」(Open HCI)という、2種類のHCIが使われていた。どちらもUSB 1.1で定義される、Low Speed(LS、1.5Mbps)とFull Speed(FS、12Mbps)の通信をサポートしていた。
UHCIはインテルのチップセット内蔵USBホストコントローラー向けの仕様であり、インテルとVIAが採用した。それ以外の企業は、NECのUSBホストコントローラーを採用して、OHCIを定義した。ちなみにこのときマイクロソフトは、OHCIの策定に関与している。こうした背景もあり、「Windows 95 OSR2」で正式にUSBがサポートされてからしばらくは、2つのUSBホストコントローラーを区別しなければならなかった。
この連載の記事
-
第34回
PC
Windows 8の狙いは、UIの変化よりもAPIの変化が本質 -
第33回
PC
Windows 8が動作しなくなった? 新しくなった修復機能 -
第32回
PC
Windows 8でIMEに求められる新しい要素とはなにか? -
第31回
PC
Windows 8の無線LANをコマンドラインで細かく制御 -
第30回
PC
Windows 8をマウスで使いやすくするレジストリの小技 -
第29回
PC
周辺機器・アプリがWindows 8/RTで動くか確認する方法 -
第28回
PC
Windows 8のキーボードショートカットを全公開 -
第27回
PC
Windows 8が使いにくい? マウスを変えると印象も変わる -
第26回
PC
実はNFCに対応しているWindows 8 ただしアプリは不足 -
第25回
PC
実は扱いがまったく異なるWindows 8でのタッチパネル -
第24回
PC
Surfaceから見えるWindows RTの実像と、将来PCへの影響 - この連載の一覧へ