Solaris のシステム管理 (デバイスとファイルシステム)

Solaris USB アーキテクチャー (USBA)

USB デバイスは、2 つのレベルのデバイスツリーノードとして表現できます。デバイスノードは、USB デバイス全体を表します。1 つまたは複数の子インタフェースノードはデバイス上にある個々のUSB インタフェースを表します。

ドライバのバインドは互換性のある名前属性の使用によって実現されます。詳細については、『IEEE 1275 USB binding (英語版)』の 3.2.2.1 項と『Writing Device Drivers 』を参照してください。ドライバは、デバイス全体にバインドしてすべてのインタフェースを制御することも、1 つのインタフェースだけにバインドすることも可能です。デバイス全体にバインドするドライバがベンダーにもクラスにも存在しない場合、汎用 USB マルチインタフェースドライバがデバイスレベルのノードにバインドされます。IEEE 1275 バインド仕様の 3.2.2.1 項で定義されているように、このドライバは互換名プロパティーを使用して、各インタフェースに対してドライバのバインドを試みます。

Solaris USB アーキテクチャー (USBA) は、USB 1.1 および USB 2.0 の仕様に準拠しており、Solaris デバイスドライバインタフェース (DDI) の一部です。USBA モデルは Sun Common SCSI Architecture (SCSA) に似ています。次の図が示すように、USBA は、汎用 USB トランスポート層という概念をクライアントドライバに提供する薄い層で、汎用 USB の主要な機能を実装するサービスをクライアントドライバに提供します。

図 7–2 Solaris USB アーキテクチャー (USBA)

この図は、クライアントドライバ、USBA フレームワーク、ホストコントローラドライバ、およびデバイスバス間の関係を示しています。