ATA Disk在Linux中的驅動架構對比分析

2021-05-26 11:14:34 字數 1643 閱讀 1183

**

這裡所說的

ata disk

包含兩大類:一類是傳統的並行

ata(

pata

),即ide

介面;另一類是目前流行的序列

ata(

sata

)。對於

ide的驅動,

linux-

2.6.28

還進行了保留,其可以驅成傳統的

hd裝置,也可以驅成流行的

sd裝置。對於

sata

裝置,linux

的標準做法是驅成

sd裝置,下面對傳統

ata的驅動架構和目前流行

ata的驅動架構進行對比分析說明。

傳統ata的驅動框架如上圖所示,傳統的ata host架構在pci匯流排之上,在pci匯流排掃瞄過程中列舉得到。pci掃瞄程式scan到ata host之後會載入該裝置的驅動程式,即ata host driver,該driver亦是乙個pci device的驅動。ata host會被註冊到ide core level驅動層,從而生成一條ide的匯流排,ide核心層在對ata host初始化完畢之後會掃瞄該host,並且載入適合裝置的ide device driver。如果ide device driver是乙個ide disk的驅動,那麼ata磁碟將會被驅成hd裝置;如果驅動是ide-scsi,那麼ata device將會被虛擬成乙個scsi host,並且將該host加入到scsi middle leve驅動層,同樣的原理,scsi middle level驅動層會掃瞄這個虛擬的scsi host,然後載入掃瞄得到裝置的驅動,這個驅動通常為scsi disk driver,此時,乙個傳統ide裝置被驅成了乙個scsi裝置。從上述的驅動棧我們可以看出,ide裝置被虛擬成scsi裝置的關鍵在於ide device driver,在該層對裝置進行了虛擬化處理,形成了一條虛擬的scsi匯流排,然後再將裝置虛擬成了scsi device,按照這種思路,我們可以不斷的進行裝置虛擬和匯流排層疊擴充套件。

從上述驅動框架來看,ide匯流排層作用並不是很大,因此,完全可以將ide匯流排層拋棄,直接採用如下圖所示的驅動框架,這也是目前sata等驅動常用的驅動模型。

在上述驅動模型中,

ata host

的列舉過程與第乙個模型保持一致,但是

ata host driver

會直接將

ata host

註冊到scsi middle level

層,考慮到

ata協議層與

scsi

協議層存在差異,因此,通過

libata

驅動作為

scsi middle level

與ata host

之間的轉換層,從而可以很好的將

ata host

直接融入到

scsi

的驅動體系中來,可以直接將

ata裝置驅成

scsi device

。與第乙個模型相比,這個模型的驅動棧變淺了,驅動效率提高了,而且可以無縫的將

ata驅動融入到

scsi

驅動體系中。在這個驅動模型中,

libata

驅動無疑是最大的功臣。目前,很多

sata host

驅動以及

pata host

的驅動都採用這種模型。

openoffice在linux中的安裝

2 安裝 進入目錄zh cn,然後再進入其中的目錄rpms,執行命令rpm ivh openoffice rpm 安裝openoffice的所有元件,rpm 就會根據裡面各個rpm安裝包的依賴順序依此安裝各個rpm包 元件安裝完成之後,接著安裝openoffice桌面整合程式,進入目錄desktop...

mariadb在linux中的安裝

參考 檢視檔案大小 解壓縮 windows下安裝mariadb linux常用命令 1 查詢某個檔案 whereis 檔名 find name 檔名 支援正規表示式 2 檢視檔案大小 du h du h 檔案 檢視某個檔案大小 3 檢視磁碟大小 df h 4 解壓 tar zxvf 檔案.tar.g...

activeMQ在linux中的安裝

1.把activemq 的壓縮包上傳到linux系統。1 將 apache activemq 5.12.0 bin.tar.gz 上傳至伺服器 2 解壓此檔案 tar zxvf apache activemq 5.12.0 bin.tar.gz 3 為 apache activemq 5.12.0 ...