Linux设备驱动程序 下载 pdf 百度网盘 epub 免费 2025 电子书 mobi 在线
Linux设备驱动程序电子书下载地址
内容简介:
本书是经典著作《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等方面的内容。
书籍目录:
前言
第一章 设备驱动程序简介
设备驱动程序的作用
内核功能划分
设备和模块的分类
安全问题
版本编号
许可证条款
加入内核开发社团
本书概要
第二章 构造和运行模块
设置测试系统
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结构详解
快速参考
参考书目
作者介绍:
Jonahan Corbet早在1981年就开始接触BSD Unix的源代码。那时,科罗拉多大学的一名讲师让他“修正”其中的分页算法。从那时起直到现在。他深入研究了他所遇到的每一个系统,其中包括VAX、Sun、Arden以及x86系统的驱动程序。他在1993年第一次接触Linux系统,从此以后一直从事Linux的开发。Corbet先生是《Linux Weekly News》的创始人和执行主编。他和妻子及两个孩子生活在科罗多州的玻尔得市。
出版社信息:
暂无出版社相关信息,正在全力查找中!
书籍摘录:
暂无相关书籍摘录,正在全力查找中!
在线阅读/听书/购买/PDF下载地址:
原文赏析:
GFP_ATOMIC
Used to allocate memory from interrupt handlers and other code outside of a process context. Never sleeps.
GFP_KERNEL
Normal allocation of kernel memory. May sleep.
struct gendisk is a dynamically allocated structure that requires special kernel
manipulation to be initialized; drivers cannot allocate the structure on their own.
Instead, you must call:
The minors argument should be the number of minor numbers this disk uses; note
that you cannot change the minors field later and expect things to work properly.
When a disk is no longer needed, it should be freed with:
A gendisk is a reference-counted structure (it contains a kobject). There are get_disk
and put_disk functions available to manipulate the reference count, but drivers
should never need to do that. Normally, the call to del_gendisk removes the final reference
to a gendisk, but there are no guarantees of that. Thus, it is possible that the
structure could continue to exist (and your methods could be called) after a call to
del_gendisk. If you delete the structure when there are no users (that is, after the final
release or in your module cleanup function), however, you can be sure that you will
not hear from it again.
Allocating a gendisk structure does not make the disk available to the system. To do
that, you must initialize the structure and call add_disk:
其它内容:
书籍介绍
本书是经典著作《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等方面的内容。
网站评分
书籍多样性:9分
书籍信息完全性:9分
网站更新速度:7分
使用便利性:9分
书籍清晰度:5分
书籍格式兼容性:4分
是否包含广告:3分
加载速度:6分
安全性:4分
稳定性:9分
搜索功能:4分
下载便捷性:3分
下载点评
- 中评(493+)
- 超值(340+)
- 可以购买(360+)
- epub(228+)
- pdf(375+)
- 五星好评(467+)
- 中评多(480+)
下载评价
- 网友 权***颜: ( 2024-12-21 03:38:24 )
下载地址、格式选择、下载方式都还挺多的
- 网友 曹***雯: ( 2025-01-02 11:18:32 )
为什么许多书都找不到?
- 网友 谭***然: ( 2025-01-12 10:19:18 )
如果不要钱就好了
- 网友 车***波: ( 2025-01-14 07:45:29 )
很好,下载出来的内容没有乱码。
- 网友 潘***丽: ( 2025-01-05 19:24:50 )
这里能在线转化,直接选择一款就可以了,用他这个转很方便的
- 网友 戈***玉: ( 2025-01-16 22:46:43 )
特别棒
- 网友 国***舒: ( 2024-12-27 15:24:51 )
中评,付点钱这里能找到就找到了,找不到别的地方也不一定能找到
- 网友 通***蕊: ( 2024-12-30 08:25:58 )
五颗星、五颗星,大赞还觉得不错!~~
- 网友 家***丝: ( 2025-01-05 15:22:32 )
好6666666
- 网友 詹***萍: ( 2025-01-14 06:38:35 )
好评的,这是自己一直选择的下载书的网站
- 网友 敖***菡: ( 2025-01-08 12:33:49 )
是个好网站,很便捷
- 网友 辛***玮: ( 2025-01-06 05:16:07 )
页面不错 整体风格喜欢
- 网友 晏***媛: ( 2025-01-02 13:10:54 )
够人性化!
- 【】 我是一尾沉默的鱼 尤今 著 9787500683339 下载 pdf 百度网盘 epub 免费 2025 电子书 mobi 在线
- 西方城市管理:历史、理论与政策 下载 pdf 百度网盘 epub 免费 2025 电子书 mobi 在线
- 现代服务业管理原理、方法与案例 下载 pdf 百度网盘 epub 免费 2025 电子书 mobi 在线
- Access 2016数据库应用技术实验指导与习题选解(第3版) 下载 pdf 百度网盘 epub 免费 2025 电子书 mobi 在线
- 大数据时代的营销传播 下载 pdf 百度网盘 epub 免费 2025 电子书 mobi 在线
- 未来教育2020年3月全国计算机等级考试二级ms office教程公共基础知识上机题库软件国二高级应用教材书国家全套专用大学电脑激活码正版 下载 pdf 百度网盘 epub 免费 2025 电子书 mobi 在线
- 36元4件彷徨鲁迅著正版书爱阅读语文七年级课外书4-6年级789年级初中生儿童文学书籍6-12-15岁非注音世界名著经典 下载 pdf 百度网盘 epub 免费 2025 电子书 mobi 在线
- 著名的博物馆 下载 pdf 百度网盘 epub 免费 2025 电子书 mobi 在线
- 颐和园德和园大修实录 下载 pdf 百度网盘 epub 免费 2025 电子书 mobi 在线
- 9787117180542 下载 pdf 百度网盘 epub 免费 2025 电子书 mobi 在线
书籍真实打分
故事情节:5分
人物塑造:3分
主题深度:5分
文字风格:8分
语言运用:5分
文笔流畅:5分
思想传递:3分
知识深度:6分
知识广度:9分
实用性:7分
章节划分:4分
结构布局:6分
新颖与独特:5分
情感共鸣:4分
引人入胜:3分
现实相关:7分
沉浸感:3分
事实准确性:6分
文化贡献:3分