This is, on the surface, a book about writing device drivers for the Linux system. That is a worthy goal, of course; the flow of new hardware products is not likely to slow down anytime soon, and somebody is going to have to make all those new gadgets work with Linux. But this book is also about how the Linux kernel works and how to adapt its workings to your needs or interests. Linux is an open system; with this book, we hope, it is more open and accessible to a larger community of developers. This is the third edition of Linux Device Drivers. The kernel has changed greatly since this book was first published, and we have tried to evolve the text to match. This edition covers the 2.6.10 kernel as completely as we are able. We have, this time around, elected to omit the discussion of backward compatibility with previous kernel versions. The changes from 2.4 are simply too large, and the 2.4 interface remains well documented in the (freely available) second edition. This edition contains quite a bit of new material relevant to the 2.6 kernel. The discussion of locking and concurrency has been expanded and moved into its own chapter. The Linux device model, which is new in 2.6, is covered in detail. There are new chapters on the USB bus and the serial driver subsystem; the chapter on PCI has also been enhanced. While the organization of the rest of the book resembles that of the earlier editions, every chapter has been thoroughly updated. We hope you enjoy reading this book as much as we have enjoyed writing it. ### Linux Device Driver 相关知识点 #### 一、书籍概览 - **书籍名称**:Linux Device Drivers(第三版) - **出版年份**:2005年 - **出版社**:O'Reilly & Associates, Inc. - **版权声明**:所有权利保留 #### 二、书籍内容概述 本书旨在教授读者如何为Linux系统编写设备驱动程序。它不仅涵盖了设备驱动程序的编写技巧,还深入探讨了Linux内核的工作原理及其如何适应开发者的特定需求或兴趣。本书特别强调了Linux作为一个开放系统的特性,并希望通过本书使更多的开发者能够更好地理解和利用Linux内核。 #### 三、书籍特点 - **覆盖范围**:本书主要聚焦于2.6.10版本的Linux内核。 - **新特性介绍**:本书新增了大量的与2.6内核相关的新材料,包括锁和并发控制的扩展章节、新的Linux设备模型、USB总线以及串行驱动子系统等内容。 - **组织结构**:尽管本书整体结构与前两版相似,但每一章都经过了彻底更新。 #### 四、新增内容 - **锁和并发控制**:新增了一整章专门讨论锁和并发控制机制,这对于处理多处理器环境下的并发问题非常重要。 - **Linux设备模型**:2.6内核引入了全新的设备模型,本书对此进行了详细解释。 - **USB总线和串行驱动子系统**:新增了关于USB总线和串行驱动子系统的章节,帮助开发者更好地理解这些硬件接口的工作原理和驱动程序设计。 - **PCI章节增强**:对于PCI总线的支持和相关的编程细节进行了增强。 #### 五、模块开发基础 - **第2章内容**:本书第二章介绍了模块开发的基础知识,包括构建和运行模块的基本概念。本章通过一个简单的示例模块来介绍核心概念,并不涉及具体的设备类别。 - **测试系统设置**:建议读者在标准的Linux内核上进行开发,避免使用经过大量定制的发行版内核,因为这些内核可能会有API变化,影响驱动程序的兼容性。 - **构建要求**:为了构建2.6.x版本的模块,需要有一个配置好并编译完成的内核源码树。这是因为2.6版本的模块需要链接内核源码树中的对象文件。 #### 六、关键概念 - **模块**:独立的代码块,可以动态地加载到内核中或从中卸载,以实现特定功能。 - **锁和并发控制**:用于管理多个处理器之间资源访问的机制,确保数据的一致性和完整性。 - **设备模型**:内核中用于管理各种硬件设备的一套框架,提供统一的接口以简化设备驱动的编写。 - **USB总线和串行驱动**:分别针对USB总线设备和串行通信设备的驱动支持。 - **PCI**:一种常见的计算机总线标准,用于连接高速外设到计算机主板。 #### 七、结论 《Linux Device Drivers》第三版是一本全面而深入的书籍,不仅适合希望为Linux系统编写设备驱动的开发者,也适用于对Linux内核工作原理感兴趣的任何人。本书提供了丰富的实践指导和理论知识,是学习Linux设备驱动开发不可或缺的资源。
剩余26页未读,继续阅读
- 粉丝: 0
- 资源: 4
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 在贪吃蛇游戏代码中,有关于蛇身操作的函数,如增加蛇块的函数 addnode: 这个函数用于在蛇的前端增加蛇块 如果蛇身存在(if self.body: ),会创建一个新的蛇块(node = pygam
- 诺基亚LTE后台网管操作详解+网络优化
- 台达A2 B2伺服电机编码器改功率软件 台达A2 B2伺服电机编码修改, 用于更编码器写匹配电机参数,更改编码器功率匹配驱动器测试维修用
- HTML和CSS实现简洁圣诞树网页
- fiddler5.0免费永久安装,支持https抓包(内有 fiddlercertmaker.exe),详细安装说明
- java项目,毕业设计-大学生租房系统
- C# 上位机数据上传数据库WebAPI.zip
- MATLAB中创建圣诞树图形的基本实现方法
- 基于PID的四旋翼无人机轨迹跟踪控制 0. 直接运行simulink仿真文件.slx 1. 如果出现文件或变量不能识别的警告或错误,建议将文件夹添加到matlab搜索路径以检索到所需文件,或者进入到
- SAP Query快速报表出具
- 匈牙利算法(简单易懂) - CillyB的博客 - CSDN博客.webarchive
- 温室大棚除雪装置的设计(sw12可编辑+CAD+说明书)全套技术开发资料100%好用.zip
- 学术规范与论文写作.docx
- 套箱封箱贴标签一体化包装线sw12可编辑全套技术开发资料100%好用.zip
- GNSS IMU, INS学习必备教材
- HTML5实现好看的图书音乐点评网站模板.zip