章节目录
前言 第一章 设备驱动程序简介 设备驱动程序的作用 内核功能划分 设备和模块的分类 安全问题 版本编号 许可证条款 加入内核开发社团 本书概要 第二章 构造和运行模块 设置测试系统 Hello World模块 核心模块与应用程序的对比 编译和装载 内核符号表 预备知识 初始化和关闭 模块参数 在用户空间编写驱动程序 快速参考 第三章 字符设备驱动程序 scull的设计 主设备号和次设备号 一些重要的数据结构 字符设备的注册 open和release scull的内存使用 read和write 试试新设备 快速参考 第四章 调试技术 内核中的调试支持 通过打印调试 通过查询调试 通过监视调试 调试系统故障 调试器和相关工具 第五章 并发和竞态 scull的缺陷 并发及其管理 信号量和互斥体 completion 自旋锁 锁陷阱 除了锁之外的办法 快速参考 第六章 高级字符驱动程序操作 ioctl 阻塞型I/O poll和select 异步通知 定位设备 设备文件的访问控制 快速参考 第七章 时间、延迟及延缓操作 度量时间差 获取当前时间 延迟执行 内核定时器 tasklet 工作队列 快速参考 第八章 分配内存 kmalloc函数的内幕 后备高速缓存 get_free_page和相关函数 vmalloc及其辅助函数 per-CPU变量 获取大的缓冲区 快速参考 第九章 与硬件通信 I/O端口和I/O内存 使用I/O端口 I/O端口示例 使用I/O内存 快速参考 第十章 中断处理 准备并口 安装中断处理例程 实现中断处理例程 顶半部和底半部 中断共享 中断驱动的I/O 快速参考 第十一章 内核的数据类型 使用标准C语言类型 为数据项分配确定的空间大小 接口特定的类型 其他有关移植性的问题 链表 快速参考 第十二章 PCI驱动程序 PCI接口 ISA回顾 PC/104和PC/104+ 其他的PC总线 SBus NuBus 外部总线 快速参考 第十三章 USB驱动程序 USB设备基础 USB和Sysfs USB urb 编写USB驱动程序 不使用urb的USB传输 快速参考 第十四章 Linux设备模型 kobject、kset和子系统 低层sysfs操作 热插拔事件的产生 总线、设备和驱动程序 类 各环节的整合 热插拔 处理固件 快速索引 第十五章 内存映射和DMA Linux的内存管理 mmap设备操作 执行直接I/O访问 直接内存访问 快速参考 第十六章 块设备驱动程序 注册 块设备操作 请求处理 其他一些细节 快速参考 第十七章 网络驱动程序 snull设计 连接到内核 net_device结构细节 打开和关闭 数据包传输 数据包的接收 中断处理例程 不使用接收中断 链路状态的改变 套接字缓冲区 MAC 地址解析 定制 ioctl 命令 统计信息 组播 其他知识点详解 快速参考 第十八章 TTY驱动程序 小型TTY驱动程序 tty_driver函数指针 TTY线路设置 ioctls proc和sysfs对TTY设备的处理 tty_driver结构详解 tty_operations结构详解 tty_struct结构详解 快速参考 参考书目
内容简介
本书是经典著作《Linux设备驱动程序》的第三版。如果您希望在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等方面的内容。
下载说明
1、Linux设备驱动程序是作者科波特创作的原创作品,下载链接均为网友上传的网盘链接!
2、相识电子书提供优质免费的txt、pdf等下载链接,所有电子书均为完整版!
下载链接
热门评论
-
电子发烧友官网的评论嵌入式linux下USB开发[心]网页链接 内容包括: 1.linux内核对USB规范的支持 2.USB主机驱动程序 3.USB设备驱动程序 4.USB HUb驱动程序 5.OHCI HCD。
-
吃肉会塞牙缝的评论发表了博文《2015年11月04日》一、linux系统将设备分为3类:字符设备、块设备、网络设备。使用驱动程序:字符设备:是指只能一个字节一个字节读写的设备,不能随机读取设备内存中的某一数据,读取数据Linux设备驱动之...
-
西伯利亞的烏雲的评论#fudan_abc# #USB_Storage# "对某些设备驱动程序来说,kthread_create()几乎是整个驱动的灵魂,或者说是该Linux内核模块的灵魂。不管它隐藏得多么深,她总像漆黑中的萤火虫,那样鲜明,那样出众。" 这文采,写技术博客也是白瞎了, 再一次倾倒, 哈哈
-
树下THEO的评论工作三年来,我只买了一本技术书籍——《Linux设备驱动程序》 南京·宁南
-
Sysgeek的评论『Linux Kernel 3.19爆安全漏洞,Ubuntu 15.04用户尽快更新』Linux Kernel 3.19 爆出两个安全漏洞!第一个漏洞会引发 Linux Kernel 多设备驱动程序信息泄漏并可能会允许特权访问,攻击者将可以从内核检索敏感信息。第二个漏泄属于 Linux Kernel 的虚拟机驱动程序漏洞,该漏洞没有 网页链接
-
次维dimensional的评论字符设备驱动程序 - Linux设备驱动程序学习笔记_Linux编程 网页链接
-
Here-青柠的评论linux设备驱动程序之简单字符设备驱动 网页链接
-
你喜欢的样子我都有o的评论基于嵌入式Linux系统设备驱动程序的开发 - 其他技术 - 电子工程世界网 摘要:阐述了在嵌入式Linux系统环境下设备驱动程序的开发,详细探讨了基于linux下设备驱动程序具体开发过程,最后说明了如何使用设备驱动程序。 网页链接
-
stars_bluesky的评论linux简单的字符设备驱动程序 - 朱胜本的专栏 - 博客频道 - CSDN.NET 网页链接
-
肥皂soso的评论Linux设备驱动程序学习笔记 - 杨正的专栏 - 博客频道 - CSDN.NET 网页链接