2016-01-24 115 views

回答

2

內核的工作是檢測設備,因爲它具有對可用硬件的最低級訪問。當內核掃描所有可用地址時,它會維護一個供應商和設備ID列表。

要使用PCI總線設備作爲示例,有一個供應商ID和與所有PCI設備關聯的設備ID。

設備驅動程序的編寫方式是向內核標識驅動程序能夠控制的設備類型。司機可能會宣稱他們可以處理多個供應商和設備類型組合。

內核將根據這些ID爲每個設備分配一個驅動程序。 USB設備也採用了類似的流程。傳統設備(串行端口,並行,PS2鼠標/鍵盤)等較舊的技術將明確硬編碼將特定驅動程序與設備相關聯的方法。

您可以使用Linux命令的lsusblspci的看到您的系統上可用的設備和ID。

所以直接回答你的問題 - 設備驅動程序通常不會檢測設備,至少在第一個例子中。一旦驅動程序與設備相關聯(由內核),驅動程序可能會進一步詢問設備,以確保它包含正確的固件或是正確的硬件修訂版等。

+0

這至少我是如何理解它的。幾年前我寫了一些PCI驅動程序,並且瞭解使用設備分配驅動程序的最初方式是需要掌握的第一件事。 – Wossname

+0

謝謝您的信息! –

相關問題