Linux DeviceDrivers 3rd Edition
(英文版 第三版 中文书签我自己做的 大家要是不喜欢就用福听PDF删除掉我加上去的东西 我还有很多好资源 大家都去逛逛 还有这个是单本的 网上还有个分很多章的) 前言 1 第一章 设备驱动程序简介 9 设备驱动程序的作用 10 内核功能划分 12 设备和模块的分类 14 安全问题 15 版本编号 17 许可证条款 18 加入内核开发社团 19 本书概要 19 第二章 构造和运行模块 21 设置测试系统 21 Hello World模块 22 核心模块与应用程序的对比 24 编译和装载 28 内核符号表 33 预备知识 35 初始化和关闭 36 模块参数 40 在用户空间编写驱动程序 42 .快速参考 44 第三章 字符设备驱动程序 46 scull的设计 46 主设备号和次设备号 47 一些重要的数据结构 53 字符设备的注册 59 open和release 62 scull的内存使用 64 read和write 67 试试新设备 74 快速参考 74 第四章 调试技术 76 内核中的调试支持 76 通过打印调试 78 通过查询调试 85 通过监视调试 94 调试系统故障 96 调试器和相关工具 102 第五章 并发和竞态 109 scull的缺陷 109 并发及其管理 110 信号量和互斥体 111 completion 116 自旋锁 118 锁陷阱 123 除了锁之外的办法 125 快速参考 132 第六章 高级字符驱动程序操作 137 ioctl 137 阻塞型I/O 149 poll和select 163 异步通知 168 定位设备 172 设备文件的访问控制 173 快速参考 179 第七章 时间、延迟及延缓操作 183 度量时间差 183 获取当前时间 188 延迟执行 190 内核定时器 196 tasklet 202 工作队列 204 快速参考 208 第八章 分配内存 213 kmalloc函数的内幕 213 后备高速缓存 217 get_free_page和相关函数 221 vmalloc及其辅助函数 225 per-CPU变量 228 获取大的缓冲区 230 快速参考 231 第九章 与硬件通信 235 I/O端口和I/O内存 235 使用I/O端口 239 I/O端口示例 245 使用I/O内存 248 快速参考 254 第十章 中断处理 258 准备并口 259 安装中断处理例程 259 实现中断处理例程 269 顶半部和底半部 274 中断共享 278 中断驱动的I/O 281 快速参考 285 第十一章 内核的数据类型 287 使用标准C语言类型 287 为数据项分配确定的空间大小 289 接口特定的类型 289 其他有关移植性的问题 291 链表 294 快速参考 298 第十二章 PCI驱动程序 300 PCI接口 300 ISA回顾 317 PC/104和PC/104+ 319 其他的PC总线 319 SBus 320 NuBus 321 外部总线 321 快速参考 322 第十三章 USB驱动程序 324 USB设备基础 326 USB和Sysfs 329 USB urb 331 编写USB驱动程序 342 不使用urb的USB传输 352 快速参考 356 第十四章 Linux设备模型 359 kobject、kset和子系统 361 低层sysfs操作 368 热插拔事件的产生 372 总线、设备和驱动程序 374 类 384 各环节的整合 388 热插拔 394 处理固件 401 快速索引 403 第十五章 内存映射和DMA 408 Linux的内存管理 408 mmap设备操作 418 执行直接I/O访问 429 直接内存访问 435 快速参考 453 第十六章 块设备驱动程序 458 注册 459 块设备操作 464 请求处理 468 其他一些细节 484 快速参考 487 第十七章 网络驱动程序 491 snull设计 492 连接到内核 495 net_device结构细节 499 打开和关闭 508 数据包传输 510 数据包的接收 514 中断处理例程 516 不使用接收中断 518 链路状态的改变 521 套接字缓冲区 521 MAC 地址解析 525 定制 ioctl 命令 527 统计信息 528 组播 529 其他知识点详解 533 快速参考 534 第十八章 TTY驱动程序 538 小型TTY驱动程序 540 tty_driver函数指针 545 TTY线路设置 551 ioctls 555 proc和sysfs对TTY设备的处理 557 tty_driver结构详解 558 tty_operations结构详解 560 tty_struct结构详解 562 快速参考 564 参考书目 567 调试器和相关工具 102 第五章 并发和竞态 109 scull的缺陷 109 并发及其管理 110 信号量和互斥体 111 completion 116 自旋锁 118 锁陷阱 123 除了锁之外的办法 125 快速参考 132 第六章 高级字符驱动程序操作 137 ioctl 137 阻塞型I/O 149 poll和select 163 异步通知 168 定位设备 172 设备文件的访问控制 173 快速参考 179 第七章 时间、延迟及延缓操作 183 度量时间差 183 获取当前时间 188 延迟执行 190 内核定时器 196 tasklet 202 工作队列 204 快速参考 208 第八章 分配内存 213 kmalloc函数的内幕 213 后备高速缓存 217 get_free_page和相关函数 221 vmalloc及其辅助函数 225 per-CPU变量 228 获取大的缓冲区 230 快速参考 231 第九章 与硬件通信 235 I/O端口和I/O内存 235 使用I/O端口 239 I/O端口示例 245 使用I/O内存 248 快速参考 254 第十章 中断处理 258 准备并口 259 安装中断处理例程 259 实现中断处理例程 269 顶半部和底半部 274 中断共享 278 中断驱动的I/O 281 快速参考 285 第十一章 内核的数据类型 287 使用标准C语言类型 287 为数据项分配确定的空间大小 289 接口特定的类型 289 其他有关移植性的问题 291 链表 294 快速参考 298 第十二章 PCI驱动程序 300 PCI接口 300 ISA回顾 317 PC/104和PC/104+ 319 其他的PC总线 319 SBus 320 NuBus 321 外部总线 321 快速参考 322 第十三章 USB驱动程序 324 USB设备基础 326 USB和Sysfs 329 USB urb 331 编写USB驱动程序 342 不使用urb的USB传输 352 快速参考 356 第十四章 Linux设备模型 359 kobject、kset和子系统 361 低层sysfs操作 368 热插拔事件的产生 372 总线、设备和驱动程序 374 类 384 各环节的整合 388 热插拔 394 处理固件 401 快速索引 403 第十五章 内存映射和DMA 408 Linux的内存管理 408 mmap设备操作 418 执行直接I/O访问 429 直接内存访问 435 快速参考 453 第十六章 块设备驱动程序 458 注册 459 块设备操作 464 请求处理 468 其他一些细节 484 快速参考 487 第十七章 网络驱动程序 491 snull设计 492 连接到内核 495 net_device结构细节 499 打开和关闭 508 数据包传输 510 数据包的接收 514 中断处理例程 516 不使用接收中断 518 链路状态的改变 521 套接字缓冲区 521 MAC 地址解析 525 定制 ioctl 命令 527 统计信息 528 组播 529 其他知识点详解 533 快速参考 534 第十八章 TTY驱动程序 538 小型TTY驱动程序 540 tty_driver函数指针 545 TTY线路设置 551 ioctls 555 proc和sysfs对TTY设备的处理 557 tty_driver结构详解 558 tty_operations结构详解 560 tty_struct结构详解 562 快速参考 564 参考书目 567
文件列表
Linux-Device-Drivers-3rd-Edition.rar
(预估有个2文件)
Linux-Device-Drivers-3rd-Edition
examples.tar.gz
70KB
Linux-Device-Drivers-3rd-Edition.pdf
7.55MB
暂无评论