SCSI 子系統文件

Linux 文件專案 (LDP) 維護著一份描述 Linux 核心 (lk) 2.4 系列中 SCSI 子系統的文件。參見:https://www.tldp.org/HOWTO/SCSI-2.4-HOWTO 。 LDP 提供了單頁和多頁 HTML 渲染,以及 postscript 和 pdf 格式。

關於在 SCSI 子系統中使用模組的說明

Linux 核心中的 SCSI 支援可以根據終端使用者的需求以多種不同的方式模組化。為了理解您的選項,我們應該首先定義幾個術語。

scsi-core(也稱為“中間層”)包含 SCSI 支援的核心。 沒有它,您無法使用任何其他 SCSI 驅動程式。 SCSI 核心支援可以是一個模組 (scsi_mod.o),或者可以構建到核心中。 如果核心是一個模組,它必須是載入的第一個 SCSI 模組,並且如果您解除安裝這些模組,它必須是最後一個解除安裝的模組。 在實踐中,modprobe 和 rmmod 命令將強制執行 SCSI 子系統中載入和解除安裝模組的正確順序。

一旦 SCSI 核心存在於核心中(無論是編譯到核心中還是作為模組載入),各個上層和下層驅動程式都可以按任何順序載入。 磁碟驅動程式 (sd_mod.o)、CD-ROM 驅動程式 (sr_mod.o)、磁帶驅動程式[1] (st.o) 和 SCSI 通用驅動程式 (sg.o) 代表上層驅動程式,用於支援可以控制的各種不同的裝置。 例如,您可以載入磁帶驅動程式以使用磁帶驅動器,然後在不再需要該驅動程式時解除安裝它(並釋放相關的記憶體)。

下層驅動程式是支援您正在執行的硬體平臺上支援的各個卡的驅動程式。 這些單個卡通常稱為主機匯流排介面卡 (HBA)。 例如,aic7xxx.o 驅動程式用於控制 Adaptec 的所有最新的 SCSI 控制器卡。 幾乎所有下層驅動程式都可以構建為模組或構建到核心中。