Chapter 8. 中間レベル、統合レイヤ

Table of Contents
8.1. ブート時のパラメタ
8.2. モジュールのパラメタ
8.3. proc インタフェース

SCSI の中間レベルは、SCSI サブシステムを使う場合は必ず利用されます。 おそらく最も重要な機能は、その他すべての SCSI ドライバが使用する内部 インタフェースと内部サービスとを定義することです。これら内部のしくみについては、 このドキュメントでは論じません(W2を参照)。

大元のカーネル設定パラメタである「CONFIG_SCSI」によって、中間レベルが組み込み か(=y)、モジュールなのか(=m)が決まります。「CONFIG_SCSI=m」なら、その他すべて の SCSI サブシステムのドライバもモジュールになっていなければいけません。

中間レベルがモジュールとして構築されている場合、これをわざわざロードする必要は まずありません。「modprobe」を使って他の SCSI サブシステムの モジュールを ロードすれば、中間レベルが(既にロードされていなければ)ロードされるからです。

高レベルと低レベルのドライバには、そのドライバが制御するデバイスが 1 つ もなければ、(完全には)ロードされないものもあります。時にはおおげさに報告 されるケースもあります。例えば次に示すように、パラレルポートに接続している zip ドライバを制御する imm ドライバがそうです。

$ modprobe imm                                 
   imm.o: init_module: No such device
lsmod は「imm」モジュールがロードされたとは表示しません。 もっと微妙な結果になる場合もあります。例えば sg ドライバ がシステムにSCSI デバイスが(実際にあるものもしくは擬似にせよ)何もない状態で ロードされると、/proc/scsi/sg ディレクトリは出現しません (SCSI デバイスが認識されてはじめて作成されます)。