出版時間:2005-6 出版社:東南大學(xué)出版社 作者:科比特 頁數(shù):615
Tag標(biāo)簽:無
內(nèi)容概要
這本經(jīng)典書籍目前已更新至第三版,對于那些希望在Linux操作系統(tǒng)下支持計算機(jī)外圍設(shè)備、運行新硬件,或者僅僅對Linux內(nèi)核普通編程感興趣的人來說,它是本必讀書籍?!禠inux設(shè)備驅(qū)動程序》揭示了如何給大多數(shù)的設(shè)備編寫驅(qū)動程序的信息,這些信息迄今僅通過口頭或者隱晦的源代碼注釋被共享。 本書的作者是Linux社區(qū)的領(lǐng)導(dǎo)者。Jonathan Corbet是個不定期的內(nèi)核開源項目參與者同時還是評價甚高的LWN.net新聞和信息站點的執(zhí)行編輯。Alessandro Rubini是Linux代碼的一個開源提供者同時也是活躍的意大利Linux社區(qū)的中心人物。Greg Kroah-Hartman目前是本書描述的USB、PCI和驅(qū)動核心子系統(tǒng)相關(guān)的內(nèi)核代碼維護(hù)者。 本書新版根據(jù)Linux內(nèi)核2.6.10徹底更新。內(nèi)核的這個版本更加合理化并簡化了普通工作任務(wù)的幾個方法,比如即插即用、通過sysfs文件系統(tǒng)和用戶空間交互、標(biāo)準(zhǔn)總線上的多設(shè)備管理。 你不必是一個內(nèi)核高手就可以理解并享受本書,所需要的只是C以及Unix系統(tǒng)調(diào)用方面的背景知識。在不需要特殊的硬件設(shè)備就能編譯和運行的詳細(xì)示例的指引下,你將學(xué)會如何給字符設(shè)備、塊設(shè)備和網(wǎng)絡(luò)接口編寫驅(qū)動程序。PCI、USB和tty(終端)子系統(tǒng)都單列一章。本書為那些對操作系統(tǒng)的工作機(jī)制好奇的人提供了地址空間、異步事件和I/O等方面的闡述。 本書的主題包括: * 字符設(shè)備、塊設(shè)備、tty(終端)和網(wǎng)絡(luò)驅(qū)動程序 * 驅(qū)動程序調(diào)試 * 中斷 * 定時問題 * 內(nèi)存管理和DMA * 驅(qū)動模型和sysfs * 熱插拔設(shè)備 * 通用總線,包括SCSI、PCI、USB和IEEE1394(FireWire)的特殊要求。
書籍目錄
Preface 1. An Introduction to Device Drivers The Role of the Device Driver Splitting the Kernel Classes of Devices and Modules Security Issues Version Numbering License Terms Joining the Kernel Development Community Overview of the Book 2. Building and Running Modules Setting Up Your Test System The Hello World Module Kernel Modules Versus Applications Compiling and Loading The Kernel Symbol Table Preliminaries Initialization and Shutdown Module Parameters Doing It in User Space Quick Reference 3. Char Drivers The Design of scull Major and Minor Numbers Some Important Data Structures 49Char Device Registration open and release scull's Memory Usage read and write Playing with the New Devices Quick Reference 4. Debugging Techniques Debugging Support in the Kernel Debugging by Printing Debugging by Querying Debugging by Watching Debugging System Faults Debuggers and Related Tools 5. Concurrency and Race Conditions Pitfalls in scull Concurrency and Its Management Semaphores and Mutexes Completions Spinlocks Locking Traps Alternatives to Locking Quick Reference 6. Advanced Char Driver Operations ioctl Blocking I/O poll and select Asynchronous Notification Seeking a Device Access Control on a Device File Quick Reference7. Time, Delays, and Deferred Work Measuring Time Lapses Knowing the Current Time Delaying Execution Kernel Timers Tasklets Workqueues Quick Reference8. Allocating Memory 9. Communicating with Hardware 10. Interrupt Handling11. Data Types in the Kernel12. PCI Drivers13. USB Drivers 14. The Linux Device Model15. Memory Mapping and DMA16. Block Drivers 17. Network Drivers18. TTY Drivers Index
圖書封面
圖書標(biāo)簽Tags
無
評論、評分、閱讀與下載