本書是經典著作《Linux設備驅動程序》的第三版。如果您希望在Linux操作系統(tǒng)上支持計算機外部設備,或者在Linux上運行新的硬件,或者只是希望一般性地了解Linux內核的編程,就一定要閱讀本書。本書描述了如何針對各種設備編寫驅動程序,而在過去,這些內容僅僅以口頭形式交流,或者零星出現在神秘的代碼注釋中。本書的作者均是Linux社區(qū)的領導者。Jonathan Corbet雖不是專職的內核代碼貢獻者,但他是備受關注的LWN.net新聞及信息網站的執(zhí)行編輯。Alessandro Rubini是一名Linux代碼貢獻者,也是活躍的意大利Linux社區(qū)的靈魂人物。Greg Kroah-Hartman是目前內核中USB、PCI和驅動程序核心子系統(tǒng)(本書均有講述)的維護者。本書的這個版本已針對Linux內核的2.6.10版本徹底更新過了。內核的這個版本針對常見任務完成了合理化設計及相應的簡化,如即插即用、利用sysfs文件系統(tǒng)和用戶空間交互,以及標準總線上的多設備管理等等。要閱讀并理解本書,您不必首先成為內核黑客;只要您理解C語言并具有Unix系統(tǒng)調用的一些背景知識即可。您將學到如何為字符設備、塊設備和網絡接口編寫驅動程序。為此,本書提供了完整的示例程序,您不需要特殊的硬件即可編譯和運行這些示例程序。本書還在單獨的章節(jié)中講述了PCI、USB和tty(終端)子系統(tǒng)。對期望了解操作系統(tǒng)內部工作原理的讀者來講,本書也深入闡述了地址空間、異步事件以及I/O等方面的內容。本書涵蓋的主題包括:● 完整的字符、塊、tty(終端)及網絡驅動程序● 驅動程序的調試● 中斷● 計時問題● 并發(fā)、鎖定和對稱多處理器系統(tǒng)(SMP)● 內存管理和DMA● 驅動程序模型和sysfs● 熱插拔設備● 對常見總線的描述,包括SCSI、PCI、USB和IEEE1394(火線)。