本書面向的讀者是那些想在Linux操作系統(tǒng)下支持各種計算機外設,或者想開發(fā)新的硬件并在Linux下運行的人們。Linux是Unix市場中增長最快的部分,并且在許多應用領域獲得了廣泛的支持。現在,人們越來越清楚地認識到Linux是嵌入式系統(tǒng)的一個極佳平臺,本書第二版已經成為該領域的經典之作。本書作者將以往那些口述式的經驗和知識、或者隱晦的源代碼注釋上升為系統(tǒng)地講述各種設備驅動程序編寫方法的著作。Linux內核的2.4版在設備驅動程序方面發(fā)生了重大變化,它簡化了許多工作,但同時提供了許多精細的新功能,可讓驅動程序更加高效、靈活。本書第二版透徹地講述了這些變化,并介紹了許多新的處理器和總線結構。要閱讀和欣賞本書,并不要求您是一名內核黑客,您所需要具備的只是對C語言和一些Unix系統(tǒng)調用的背景知識的了解。本書循序漸進地講述了字符設備、塊設備和網絡接口的驅動程序,并且給出了功能完善的示例驅動程序。這些示例驅動程序說明了驅動程序設計中的許多問題以及解決方法,并且不需要任何特定的硬件就可以運行。本書第二版的重要修訂包括:對對稱多處理器(SMP)系統(tǒng)和鎖機制的討論、對新CPU以及新近支持的總線的討論等等。如果您對操作系統(tǒng)完成其任務的方式感興趣,那么本書還提供了對地址空間、異步事件和I/O的深入討論??梢浦残允潜緯囊粋€主要關注點。盡管本書主要講述2.4版本,但在可能的情況下,我們也講述了2.4版本以前直到2.0版本的相關內容。本書還介紹了如何在各種硬件平臺上實現最大程度的可移植性。示例驅動程序已經在IA32(PC)和IA64、PowerPC、SPARC和SPARC64、Alpha、ARM以及MIPS等平臺上經過了測試。