Linux

Linux 驅動程序是如何工作的,我在哪裡可以找到它們?(尤其是網卡驅動)

  • May 22, 2013

我想知道驅動程序如何在 Linux 下執行。驅動程序是可以編輯的單個文件嗎?是否有目前正在使用的驅動程序列表,或者是否有不同的地方可以為每個設備找到它們?

我對了解我的網路適配器的驅動程序特別感興趣。

如果您知道一些好的文件在哪裡,我也很樂意閱讀。

驅動程序與任何其他程序非常相似,它們可以由多個源文件組成。Linux 設備驅動程序可以直接編譯到核心或核心模組中。核心模組的好處是能夠動態載入(即您無需編譯新核心即可使用它們)。

顯然,您總是可以查看 Linux 原始碼,但起初這可能是一項艱鉅的任務。但是,與 Linux 驅動程序中的任何內容一樣,都是文件。這意味著其他程序通過 VFS 介面訪問它們。例如,您可以ioctl()使用 CDROM 的設備文件通過呼叫來控制 CDROM。

我強烈建議您查看Linux Device Drivers。它是免費提供的,將回答您的問題。特別是,您可以閱讀第 2 章,該章向您展示瞭如何創建一個簡單的“Hello, Kernel”模組。它可能遠遠超出您的要求,但您可以閱讀您感興趣的點點滴滴。而且它是免費的。;P

引用自:https://unix.stackexchange.com/questions/11127