Linux における USB デバイスドライバは図 2のような階層構造になっている [10].
Figure:
Linux USB デバイスドライバのフレームワーク概念図.
Linux2.4 カーネルでは USB コアドライバと2つのホストコントローラ(HC)
ドライバが用意されている. 図の USB Device Driver#1,...,Driver#n は
それぞれ特定のデバイスに対するデバイスドライバである.
USB コアドライバは USB制御用の関数群を提供する.
USB ホストコントローラ・ドライバはUSB ホストで使用されているコントローラ
チップ用のドライバである. UHCI と OHCI の2種類が存在し, そのドライ
バも2つ存在する.
USB デバイスドライバは, 各種 USB 装置に対応するドライバであり我々はアプ
リケーションからそのドライバに対しシステムコールを発行して USB装置
を制御する.
今回開発した USB-CAMAC デバイスドライバ はこの USB デバイスドライバに相
当する.