B-Free メイリングリストの皆さん、こんにちは。
先日の第二回カーネルミーティングで話題になったデバイスドライバのことを
考えていたら、次の本を見つけました。
「C で書く ...... OS/2 デバイス・ドライバ」
広沢 誠 + 齊藤 仁 共著
この本によると、OS/2 1.x の時代には階層型のデバイスドライバはなかった
みたいですが、2.x から階層型のデバイスドライバ構成ができるようになった
ようです。
階層型といっても、デバイスドライバの中身は階層によって異なったものになっ
ているみたいです。
・デバイス・マネージャ (DM)
ハードウェアから独立したドライバ:CD-ROM ドライバや HD/FD ドライバなど
がこれに対応しています。実際の入出力は、アダプタ・デバイス・ドライバを
呼んで行います。
・アダプタ・デバイス・ドライバ (ADD)
物理アダプタに対応したドライバ:Adaptec AHA-1542 などのアダプタボード
を操作します。
・フィルタ・デバイス・ドライバ (FLT)
デバイス・マネージャとアダプタ・デバイス・ドライバの中間に位置しています。
データの変更などを行います。
各層のインタフェースは、ユーザプログラムから見えるデバイスドライバイン
タフェースとは違ったものを使います。
OS 本体に階層型デバイスドライバを作る機能を入れるというのは、最近の OS
では常識化しつつあるみたいですね(デバイスドライバごとに暗黙の了解で階
層構造をとるものは昔からありましたが)。
-- 内藤隆一 (ggc00661@niftyserve.or.jp)