次のページ 前のページ 目次へ

3. 汎用 SCSI インターフェースとは?

汎用(generic) SCSI インターフェースは SCSI ハードウェアの(ひょっとしたらエキゾ チックな)部品への一般的な SCSI のアクセスを提供するために実装されまし た。Lawrence Foard ( entropy@world.std.com) によって開発され、 Killy Corporation (scsi/sg.hにあるコメントを参照してください) によって後援されました。

このインターフェースはユーザレベルのアプリケーション(すなわち、カーネ ルの外側)から特別な機器操作を可能にします。だから、カーネルドライバの 開発は、より危険でデバッグ困難なものなのですが、必要ありません。

とはいえ、適切にドライバを作動させないと、SCSI バスやドライバあるいは カーネルをハングする可能性があります。ですから、汎用ドライバを正しく作 動させることと、データの喪失を避けるために最初に全てのファイルをバック アップすることが大切です。他にもあなたのプログラムを走らせる前にしてお くと役に立つことがあります。全てのバッファがディスクにフラッシュされる ことを確実にするために sync コマンドを発行することで、もしシ ステムがハングしてもデータロスは最小になります。

汎用ドライバのもう一つの利点としては、インターフェース自身が変化しない 限り、全てのアプリケーションは新しいカーネルの開発から独立していられる ことです。比較するならば、他の低レベルなカーネルドライバは他のカーネル 内部の変化と歩調を合わさなければなりません。

典型的には、汎用ドライバはとその機能の長所を生かすために特殊なユーザア プリケーションが書かれる必要のある新しい SCSI ハードウェア装置(例: ス キャナー、プリンタ、CD-ROM ジュークボックス)と通信するために使用されま す。汎用インターフェースによってこれらのアプリケーションを迅速に作るこ とができます。


次のページ 前のページ 目次へ