《Linux设备驱动程序(第3版)》是一本深入介绍Linux操作系统设备驱动开发的专业书籍,涵盖内核架构和驱动编程技术。
本书共有18章,572页。从这里开始,我们将进入内核编程的世界。
第二章介绍了模块化,并解释了其内部的工作原理以及如何运行一个简单的模块代码。第三章则讨论字符驱动程序并展示了一个基于内存的设备驱动程序示例,读者可以尝试对其进行读写操作。使用内存作为硬件基础使得任何人均无需特殊硬件即可运行相关代码。
调试技术是每个程序员必备的重要工具,在第四章中将详细介绍其相关内容。对于那些想要分析当前内核的人来说,并发管理和竞争情况同样至关重要。第五章则关注由于并发存取资源导致的问题,以及介绍控制并发的Linux机制。
具备了调试和管理并发的能力之后,我们将转向字符驱动程序的高级特性,包括阻塞操作、使用select函数及重要的ioctl调用;这些内容将在第六章中进行讲解。
在处理硬件管理之前,我们还将深入研究一些内核软件接口。第七章将介绍内核如何管理和利用时间信息,第八章则会讲解内存分配机制。
接下来我们将专注于硬件相关的内容:第九章描述了I/O端口的管理以及设备上的内存缓存;第十章则是关于中断处理的讨论。尽管如此,并非每个人都能运行这些章节中的示例代码,因为确实需要某些特定硬件来测试软件接口及中断功能。我们尽量减少所需的硬件支持量,但你仍然可能需要一些标准并行端口等硬件以使用这些章节中提供的实例代码。
第十一章(此处原文未提及具体第11章内容)