基本信息
原书名: Essential Linux Device Drivers
原出版社: Prentice Hall
作者: (印)Sreekrishnan Venkateswaran
译者: 宋宝华 何昭然 史海滨 吴国成
丛书名: 图灵程序设计丛书 操作系统
出版社:人民邮电出版社
ISBN:9787115221674
出版日期:2010 年6月
页码:468
内容简介
本书是linux设备驱动程序开发领域的权威著作。全书基于2.6内核,不仅透彻讲解了基本概念和技术,更深入探讨了其他书没有涵盖或浅尝辄止的许多重要主题和关键难点,如pcmcia、i2c和usb等外部总线以及视频、音频、无线连网和闪存等驱动程序的开发,并讲解了相关的内核源码文件,给出了完整的开发实例。
本书适合中高级linux开发人员阅读。
目录
第1章 引言1
1.1 演进1
1.2 gnu copyleft2
1.3 kernel.org2
1.4 邮件列表和论坛3
1.5 linux发行版3
1.6 查看源代码4
1.7 编译内核7
1.8 可加载的模块8
1.9 整装待发9
第2章 内核11
2.1 启动过程11
2.1.1 bios-provided physical ram map12
2.1.2 758mb lowmem available14
2.1.3 kernel command line: ro
root=/dev/hda114
2.1.4 calibrating delay...1197.46
.bogomips (lpj=2394935)15
2.1.5 checking hlt instruction16
2.1.6 net: registered protocol family 217
2.1.7 freeing initrd memory: 387k freed17
2.1.8 io scheduler anticipatory
registered (default)18
2.1.9 setting up standard pci resources18
2.1.10 ext3-fs: mounted filesystem19
2.1.11 init: version 2.85 booting19
2.2 内核模式和用户模式20
2.3 进程上下文和中断上下文20
2.4 内核定时器21
2.4.1 hz和jiffies21
2.4.2 长延时22
2.4.3 短延时24
2.4.4 pentium时间戳计数器24
2.4.5 实时钟25
2.5 内核中的并发26
2.5.1 自旋锁和互斥体26
2.5.2 原子操作30
2.5.3 读—写锁31
2.5.4 调试32
2.6 proc文件系统32
2.7 内存分配33
2.8 查看源代码34
第3章 内核组件37
3.1 内核线程37
3.1.1 创建内核线程37
3.1.2 进程状态和等待队列41
3.1.3 用户模式辅助程序42
3.2 辅助接口43
3.2.1 链表44
3.2.2 散列链表49
3.2.3 工作队列49
3.2.4 通知链51
3.2.5 完成接口54
3.2.6 kthread辅助接口56
3.2.7 错误处理助手57
3.3 查看源代码58
第4章 基本概念61
4.1 设备和驱动程序介绍61
4.2 中断处理63
4.2.1 中断上下文63
4.2.2 分配irq号64
4.2.3 设备实例:导航杆65
4.2.4 softirq和tasklet68
4.3 linux设备模型71
4.3.1 udev71
4.3.2 sysfs、kobject和设备类73
4.3.3 热插拔和冷插拔76
4.3.4 微码下载76
4.3.5 模块自动加载77
4.4 内存屏障78
4.5 电源管理79
4.6 查看源代码79
第5章 字符设备驱动程序81
5.1 字符设备驱动程序基础81
5.2 设备实例:系统cmos82
5.2.1 驱动程序初始化83
5.2.2 打开与释放86
5.2.3 数据交换88
5.2.4 查找92
5.2.5 控制94
5.3 检测数据可用性95
5.3.1 轮询95
5.3.2 fasync98
5.4 和并行端口交互99
5.5 rtc子系统108
5.6 伪字符驱动程序109
5.7 混杂驱动程序110
5.8 字符设备驱动程序注意事项115
5.9 查看源代码115
第6章 串行设备驱动程序118
1