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币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- C++builder5.0高级开发技巧与范例(配套光盘源码)
- 承诺书1111111111111111111
- 2024年新的全的2024年新的全的《建设工程造价鉴定规范》GBT51262-2017
- SimHei字体包(支持中文,正负号等)
- 基于Django+MySQL实现的校园智能点餐系统源码+数据库(高分项目)
- 基于Django实现校园智能点餐系统源码+数据库(高分期末大作业)
- 知识付费pc付费模板系统知识付费付费模板
- ARM Developer Guide
- Lazarus IDE 3.3-Free Pascal Windows版本
- 20190312-180244-旋转磁体产生的场造成激光功率减小