Linux設(shè)備驅(qū)動(dòng)程序
本書是經(jīng)典著作《Linux設(shè)備驅(qū)動(dòng)程序》的第三版。如果您希望在Linux操作系統(tǒng)上支持計(jì)算機(jī)外部設(shè)備,或者在Linux上運(yùn)行新的硬件,或者只是希望一般性地了解Linux內(nèi)核的編程,就一定要閱讀本書。本書描述了如何針對(duì)各種設(shè)備編寫驅(qū)動(dòng)程序,而在過去,這些內(nèi)容僅僅以口頭形式交流,或者零星出現(xiàn)在神秘的代碼注釋中。
本書的作者均是Linux社區(qū)的領(lǐng)導(dǎo)者。Jonathan Corbet雖不是專職的內(nèi)核代碼貢獻(xiàn)者,但他是備受關(guān)注的LWN.net新聞及信息網(wǎng)站的執(zhí)行編輯。Alessandro Rubini是一名Linux代碼貢獻(xiàn)者,也是活躍的意大利Linux社區(qū)的靈魂人物。Greg Kroah-Hartman是目前內(nèi)核中USB、PCI和驅(qū)動(dòng)程序核心子系統(tǒng)(本書均有講述)的維護(hù)者。
本書的這個(gè)版本已針對(duì)Linux內(nèi)核的2.6.10版本徹底更新過了。內(nèi)核的這個(gè)版本針對(duì)...
本書是經(jīng)典著作《Linux設(shè)備驅(qū)動(dòng)程序》的第三版。如果您希望在Linux操作系統(tǒng)上支持計(jì)算機(jī)外部設(shè)備,或者在Linux上運(yùn)行新的硬件,或者只是希望一般性地了解Linux內(nèi)核的編程,就一定要閱讀本書。本書描述了如何針對(duì)各種設(shè)備編寫驅(qū)動(dòng)程序,而在過去,這些內(nèi)容僅僅以口頭形式交流,或者零星出現(xiàn)在神秘的代碼注釋中。
本書的作者均是Linux社區(qū)的領(lǐng)導(dǎo)者。Jonathan Corbet雖不是專職的內(nèi)核代碼貢獻(xiàn)者,但他是備受關(guān)注的LWN.net新聞及信息網(wǎng)站的執(zhí)行編輯。Alessandro Rubini是一名Linux代碼貢獻(xiàn)者,也是活躍的意大利Linux社區(qū)的靈魂人物。Greg Kroah-Hartman是目前內(nèi)核中USB、PCI和驅(qū)動(dòng)程序核心子系統(tǒng)(本書均有講述)的維護(hù)者。
本書的這個(gè)版本已針對(duì)Linux內(nèi)核的2.6.10版本徹底更新過了。內(nèi)核的這個(gè)版本針對(duì)常見任務(wù)完成了合理化設(shè)計(jì)及相應(yīng)的簡化,如即插即用、利用sysfs文件系統(tǒng)和用戶空間交互,以及標(biāo)準(zhǔn)總線上的多設(shè)備管理等等。
要閱讀并理解本書,您不必首先成為內(nèi)核黑客;只要您理解C語言并具有Unix系統(tǒng)調(diào)用的一些背景知識(shí)即可。您將學(xué)到如何為字符設(shè)備、塊設(shè)備和網(wǎng)絡(luò)接口編寫驅(qū)動(dòng)程序。為此,本書提供了完整的示例程序,您不需要特殊的硬件即可編譯和運(yùn)行這些示例程序。本書還在單獨(dú)的章節(jié)中講述了PCI、USB和tty(終端)子系統(tǒng)。對(duì)期望了解操作系統(tǒng)內(nèi)部工作原理的讀者來講,本書也深入闡述了地址空間、異步事件以及I/O等方面的內(nèi)容。
Jonahan Corbet早在1981年就開始接觸BSD Unix的源代碼。那時(shí),科羅拉多大學(xué)的一名講師讓他“修正”其中的分頁算法。從那時(shí)起直到現(xiàn)在。他深入研究了他所遇到的每一個(gè)系統(tǒng),其中包括VAX、Sun、Arden以及x86系統(tǒng)的驅(qū)動(dòng)程序。他在1993年第一次接觸Linux系統(tǒng),從此以后一直從事Linux的開發(fā)。Corbet先生是《Linux Weekly News》的創(chuàng)始人和執(zhí)行主編。他和妻子及兩個(gè)孩子生活在科羅多州的玻爾得市。
