内容简介
这本经典书籍目前已更新至第三版,对于那些希望在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)的特殊要求。