ITmedia NEWS >

USBが誕生したのは「奥さんのプリンタをつなげる手間にキレたから」 USBの設計当時を振り返る“PC”あるいは“Personal Computer”と呼ばれるもの、その変遷を辿る(6/6 ページ)

» 2021年06月23日 16時42分 公開
[大原雄介ITmedia]
前のページへ 1|2|3|4|5|6       

 もちろん、中には複数の機能を持つものもある。最近の複合機(FAX/電話/スキャナー/メディアリーダー付きプリンタとか)だと、

  • FAX/電話:Communication Device Class
  • スキャナー:Imaging Class
  • メディアリーダー:Smart card Class(モノによってはMass Storage Classか?)
  • プリンタ:Printer Class

というように複数のClassに対応する場合もある。

 この場合は複合機の側で「FAX/電話はCommunication Device Classで接続」「プリンタ機能はPrinter Classで接続」という具合に対応するわけだ。このClass Driverは通常OSベンダー(WindowsならMicrosoft)の責任である。

 その上位に当たるのがFilter Driverである。例えば「1000ピクセル移動したらガーと鳴くマウス」が企画されたとする(本当にこんなマウスがあったらごみ箱直行だが )。

 これを実装するのにマウスの中で移動量を検出するのはコストが上がりすぎるので、ソフトウェアで実装したい。が、Class Driverには手を入れられない(というか、入れたらまずい)。そこで活躍するのがFilter Driverである。この謎マウスを使う場合、移動量を監視し、累積で1000ピクセル移動したら「ガー」という音声を出力するようなユーティリティーを呼び出す、という仕組みをFilter Driverの中に仕込むことで、無駄に迷惑なマウスが追加のハードウェアコスト無しに出来上がるわけだ。

 このFilter Driverは個々のUSBベンダーが勝手に作成して追加できる。このマウスをUSBポートにつないだだけだとただのUSBマウスだが、添付されているドライバソフト(と、ガーと鳴るユーティリティー)を追加でインストールすると、迷惑なマウスに早変わりするというわけだ。

 このFilter Driverは複数重ねることもできる。

 例えば先ほどFAX/電話はCommunication Deviceだと説明したが、FAXと電話では機能が違うし、他にも昔ならモデム、今ならWi-Fiとか3G/4G/5GのWWANモデムその他各種が全部ここに入ることになる。

 そこで、大きなくくりではCommunication Deviceではあるが、小分類として電話用、FAX用、LAN用……と別々のFilter Driverが提供される(これは主にOSベンダーから提供されることが多いが、後追いで機器ベンダーから提供されるケースもあるというか、あった)。このFilter Driverに、「FAXを受けたらガーと鳴る」Filter Driverを重ねる、なんてことも可能になっている。

 こうした3層のドライバ構造とすることで、やっとIntelやMicrosoftが長らく望んでいたPlug & Playの環境が実現できたわけだが、こんな複雑なものが一発でまともに動くわけがない。

 Windows 95 OSR2ではUHCIのBus DriverといくつかのClass Driverが用意された程度。OSR 2.1になって「まともに動くUHCIのBus Driver」が追加され、OSR 2.5でClass Driverが大分マシになったとはいわれたものの、まだこの当時はマウス以外の用途ではいろいろ問題が多かった時代である。

 Windows NT 4.0でもいろいろ問題は多く、ある程度まともになったのは1999年発売のWindows 2000の時代あたりからだったと記憶している。これはUSB-IF自体が定期的に(しかも頻繁に)PlugFestと呼ばれる相互接続性の確認を行うイベントを行い、ここに多くのメーカーが自社の機材を持って集まり、さまざまなプラットフォームやデバイスとの相互接続性試験を実際に行っていく中で、次第に互換性が高まり、安定性が増していったという裏の事情がある。

 当初はClass Driverのインプリメントに問題があったり、Filter Driverの作り方の問題でシステムがクラッシュすることも珍しくなかったが、こうした問題も次第に減ってゆき、2000年に入ってからUSBは本格的にLegacy I/F(つまりPS/2マウス・キーボードや通信用のRS-232C、プリンタ接続用のIEEE 488など)を置き換え始める。特に2000年4月にUSB 2.0が登場すると、Storage Classの代替としても活躍するようになり、外付けデバイス用のSCSIが急速にシェアを落としていく。

 USBの普及の一助となったのは、Appleが初代iMacでADBやSCSIポートなどを廃してUSBのみとしたことで、Macintosh向け周辺機器を製造していたメーカーが一斉にUSB対応に舵を切ったことだろう。

 ただそれ以前からIALやUSB-IFは、この新しいI/Fが世界を変えると確信して地道に普及活動や品質向上、パートナー企業増加などを行ってきており、その結果として「PCとはUSBが使えるプラットフォーム」となった訳だ。

前のページへ 1|2|3|4|5|6       

Copyright © ITmedia, Inc. All Rights Reserved.