出版时间:2005-6 出版社:东南大学出版社 作者:科比特 页数:615
Tag标签:无
内容概要
这本经典书籍目前已更新至第三版,对于那些希望在Linux操作系统下支持计算机外围设备、运行新硬件,或者仅仅对Linux内核普通编程感兴趣的人来说,它是本必读书籍。《Linux设备驱动程序》揭示了如何给大多数的设备编写驱动程序的信息,这些信息迄今仅通过口头或者隐晦的源代码注释被共享。 本书的作者是Linux社区的领导者。Jonathan Corbet是个不定期的内核开源项目参与者同时还是评价甚高的LWN.net新闻和信息站点的执行编辑。Alessandro Rubini是Linux代码的一个开源提供者同时也是活跃的意大利Linux社区的中心人物。Greg Kroah-Hartman目前是本书描述的USB、PCI和驱动核心子系统相关的内核代码维护者。 本书新版根据Linux内核2.6.10彻底更新。内核的这个版本更加合理化并简化了普通工作任务的几个方法,比如即插即用、通过sysfs文件系统和用户空间交互、标准总线上的多设备管理。 你不必是一个内核高手就可以理解并享受本书,所需要的只是C以及Unix系统调用方面的背景知识。在不需要特殊的硬件设备就能编译和运行的详细示例的指引下,你将学会如何给字符设备、块设备和网络接口编写驱动程序。PCI、USB和tty(终端)子系统都单列一章。本书为那些对操作系统的工作机制好奇的人提供了地址空间、异步事件和I/O等方面的阐述。 本书的主题包括: * 字符设备、块设备、tty(终端)和网络驱动程序 * 驱动程序调试 * 中断 * 定时问题 * 内存管理和DMA * 驱动模型和sysfs * 热插拔设备 * 通用总线,包括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
图书封面
图书标签Tags
无
评论、评分、阅读与下载