Linux设备驱动程序

Linux设备驱动程序
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: [美] (Corbet J.)
出版社: 中国电力出版社
2006-01
版次: 1
ISBN: 9787508338637
定价: 69.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 569页
字数: 597千字
正文语种: 简体中文
原版书名: Linux Device Drivers,Third Edition
  •   本书是经典著作《Linux设备驱动程序》的第三版。如果您希望在Linux操作系统上支持计算机外部设备,或者在Linux上运行新的硬件,或者只是希望一般性地了解Linux内核的编程,就一定要阅读本书。本书描述了如何针对各种设备编写驱动程序,而在过去,这些内容仅仅以口头形式交流,或者零星出现在神秘的代码注释中。  本书的作者均是Linux社区的领导者。JonathanCorbet虽不是专职的内核代码贡献者,但他是备受关注的LWN.net新闻及信息网站的执行编辑。AlessandroRubini是一名Linux代码贡献者,也是活跃的意大利Linux社区的灵魂人物。GregKroah-Hartman是目前内核中USB、PCI和驱动程序核心子系统(本书均有讲述)的维护者。  本书的这个版本已针对Linux内核的2.6.10版本彻底更新过了。内核的这个版本针对常见任务完成了合理化设计及相应的简化,如即插即用、利用sysfs文件系统和用户空间交互,以及标准总线上的多设备管理等等。  要阅读并理解本书,您不必首先成为内核黑客;只要您理解C语言并具有Unix系统调用的一些背景知识即可。您将学到如何为字符设备、块设备和网络接口编写驱动程序。为此,本书提供了完整的示例程序,您不需要特殊的硬件即可编译和运行这些示例程序。本书还在单独的章节中讲述了PCI、USB和tty(终端)子系统。对期望了解操作系统内部工作原理的读者来讲,本书也深入阐述了地址空间、异步事件以及I/O等方面的内容。  本书涵盖的主题包括:  ●完整的字符、块、tty(终端)及网络驱动程序  ●驱动程序的调试  ●中断  ●计时问题  ●并发、锁定和对称多处理器系统(SMP)  ●内存管理和DMA  ●驱动程序模型和sysfs  ●热插拔设备  ●对常见总线的描述,包括SCSI、PCI、USB和IEEE1394(火线)。   Jonahan Corbet,早在1981年就开始接触BSD Unix的源代码。那时,科罗拉多大学的一名讲师让他“修正”其中的分页算法。从那时起直到现在。他深入研究了他所遇到的每一个系统,其中包括VAX、Sun、Arden以及x86系统的驱动程序。他在1993年首次接触Linux系统,从此以后一直从事Linux的开发。Corbet先生是《Linux Weekly News》的创始人和执行主编。他和妻子及两个孩子生活在科罗多州的玻尔得市。 前言第一章设备驱动程序简介设备驱动程序的作用内核功能划分设备和模块的分类安全问题版本编号许可证条款加入内核开发社团本书概要第二章构造和运行模块设置测试系统HelloWorld模块核心模块与应用程序的对比编译和装载内核符号表预备知识初始化和关闭模块参数在用户空间编写驱动程序快速参考第三章字符设备驱动程序scull的设计主设备号和次设备号一些重要的数据结构字符设备的注册open和releasescull的内存使用read和write试试新设备快速参考第四章调试技术内核中的调试支持通过打印调试通过查询调试通过监视调试调试系统故障调试器和相关工具第五章并发和竞态scull的缺陷并发及其管理信号量和互斥体completion自旋锁锁陷阱除了锁之外的办法快速参考第六章高级字符驱动程序操作ioctl阻塞型I/Opoll和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总线SBusNuBus外部总线快速参考第十三章USB驱动程序USB设备基础USB和SysfsUSBurb编写USB驱动程序不使用urb的USB传输快速参考第十四章Linux设备模型kobject、kset和子系统低层sysfs操作热插拔事件的产生总线、设备和驱动程序各环节的整合热插拔处理固件快速索引第十五章内存映射和DMALinux的内存管理mmap设备操作执行直接I/O访问直接内存访问快速参考第十六章块设备驱动程序注册块设备操作请求处理其他一些细节快速参考第十七章网络驱动程序snull设计连接到内核net_device结构细节打开和关闭数据包传输数据包的接收中断处理例程不使用接收中断链路状态的改变套接字缓冲区MAC地址解析定制ioctl命令统计信息组播其他知识点详解快速参考第十八章TTY驱动程序小型TTY驱动程序tty_driver函数指针TTY线路设置ioctlsproc和sysfs对TTY设备的处理tty_driver结构详解tty_operations结构详解tty_struct结构详解快速参考参考书目
  • 内容简介:
      本书是经典著作《Linux设备驱动程序》的第三版。如果您希望在Linux操作系统上支持计算机外部设备,或者在Linux上运行新的硬件,或者只是希望一般性地了解Linux内核的编程,就一定要阅读本书。本书描述了如何针对各种设备编写驱动程序,而在过去,这些内容仅仅以口头形式交流,或者零星出现在神秘的代码注释中。  本书的作者均是Linux社区的领导者。JonathanCorbet虽不是专职的内核代码贡献者,但他是备受关注的LWN.net新闻及信息网站的执行编辑。AlessandroRubini是一名Linux代码贡献者,也是活跃的意大利Linux社区的灵魂人物。GregKroah-Hartman是目前内核中USB、PCI和驱动程序核心子系统(本书均有讲述)的维护者。  本书的这个版本已针对Linux内核的2.6.10版本彻底更新过了。内核的这个版本针对常见任务完成了合理化设计及相应的简化,如即插即用、利用sysfs文件系统和用户空间交互,以及标准总线上的多设备管理等等。  要阅读并理解本书,您不必首先成为内核黑客;只要您理解C语言并具有Unix系统调用的一些背景知识即可。您将学到如何为字符设备、块设备和网络接口编写驱动程序。为此,本书提供了完整的示例程序,您不需要特殊的硬件即可编译和运行这些示例程序。本书还在单独的章节中讲述了PCI、USB和tty(终端)子系统。对期望了解操作系统内部工作原理的读者来讲,本书也深入阐述了地址空间、异步事件以及I/O等方面的内容。  本书涵盖的主题包括:  ●完整的字符、块、tty(终端)及网络驱动程序  ●驱动程序的调试  ●中断  ●计时问题  ●并发、锁定和对称多处理器系统(SMP)  ●内存管理和DMA  ●驱动程序模型和sysfs  ●热插拔设备  ●对常见总线的描述,包括SCSI、PCI、USB和IEEE1394(火线)。
  • 作者简介:
      Jonahan Corbet,早在1981年就开始接触BSD Unix的源代码。那时,科罗拉多大学的一名讲师让他“修正”其中的分页算法。从那时起直到现在。他深入研究了他所遇到的每一个系统,其中包括VAX、Sun、Arden以及x86系统的驱动程序。他在1993年首次接触Linux系统,从此以后一直从事Linux的开发。Corbet先生是《Linux Weekly News》的创始人和执行主编。他和妻子及两个孩子生活在科罗多州的玻尔得市。
  • 目录:
    前言第一章设备驱动程序简介设备驱动程序的作用内核功能划分设备和模块的分类安全问题版本编号许可证条款加入内核开发社团本书概要第二章构造和运行模块设置测试系统HelloWorld模块核心模块与应用程序的对比编译和装载内核符号表预备知识初始化和关闭模块参数在用户空间编写驱动程序快速参考第三章字符设备驱动程序scull的设计主设备号和次设备号一些重要的数据结构字符设备的注册open和releasescull的内存使用read和write试试新设备快速参考第四章调试技术内核中的调试支持通过打印调试通过查询调试通过监视调试调试系统故障调试器和相关工具第五章并发和竞态scull的缺陷并发及其管理信号量和互斥体completion自旋锁锁陷阱除了锁之外的办法快速参考第六章高级字符驱动程序操作ioctl阻塞型I/Opoll和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总线SBusNuBus外部总线快速参考第十三章USB驱动程序USB设备基础USB和SysfsUSBurb编写USB驱动程序不使用urb的USB传输快速参考第十四章Linux设备模型kobject、kset和子系统低层sysfs操作热插拔事件的产生总线、设备和驱动程序各环节的整合热插拔处理固件快速索引第十五章内存映射和DMALinux的内存管理mmap设备操作执行直接I/O访问直接内存访问快速参考第十六章块设备驱动程序注册块设备操作请求处理其他一些细节快速参考第十七章网络驱动程序snull设计连接到内核net_device结构细节打开和关闭数据包传输数据包的接收中断处理例程不使用接收中断链路状态的改变套接字缓冲区MAC地址解析定制ioctl命令统计信息组播其他知识点详解快速参考第十八章TTY驱动程序小型TTY驱动程序tty_driver函数指针TTY线路设置ioctlsproc和sysfs对TTY设备的处理tty_driver结构详解tty_operations结构详解tty_struct结构详解快速参考参考书目
查看详情
好书推荐 / 更多
Linux设备驱动程序
消逝世界漫游指南
马克•卡沃丁 著;道格拉斯•亚当斯、姬茜茹 译
Linux设备驱动程序
无意识的文明
[加拿大]约翰·拉尔斯顿·索尔 著;邵文实 译
Linux设备驱动程序
政府监管的新视野:英国监管机构十大样本考察
[【英】]托尼•普罗瑟 作者
Linux设备驱动程序
手术刀下的历史:改变世界的27个真实手术故事
[荷]阿诺德·范德拉尔 著;李命心 译
Linux设备驱动程序
解剖无聊:如果无聊不可避免,我们该如何面对?
[加]马克·金维尔 著;王喆、章倜 译
Linux设备驱动程序
银行数字化转型
付晓岩 著
Linux设备驱动程序
编辑这种病:记那些折磨过我的大牌作家们
见城彻 著
Linux设备驱动程序
音乐迷醉指南
[澳]克里斯托弗·劳伦斯 著;符夏怡 译
Linux设备驱动程序
自己动手做推荐引擎
Corakala 著;[印]苏雷什·库马尔·戈拉卡拉(Suresh、Kumar、左妍 译
Linux设备驱动程序
生机勃勃的尘埃——地球生命的起源和进化
克里斯蒂安·德迪夫 著;王玉山 译
Linux设备驱动程序
人类灭绝之后:未来世界动物图鉴
杜格尔·狄克逊(Dougal Dixon) 著;高瑞雪 译
Linux设备驱动程序
看不见的爱(施米特作品)
[法]埃里克-埃马纽埃尔·施米特 著