Linux设备驱动程序

Linux设备驱动程序
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: [美] (Corbet J.) , , ,
2006-01
版次: 1
ISBN: 9787508338637
定价: 69.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 569页
字数: 597千字
正文语种: 简体中文
原版书名: Linux Device Drivers,Third Edition
772人买过
  •   本书是经典著作《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和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
    USBurb
    编写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社区的领导者。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和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
    USBurb
    编写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设备驱动程序
LiteOS轻量级物联网操作系统实战 微课视频版
魏杰
Linux设备驱动程序
Linux综合实训案例教程
陈智斌;梁鹏;肖政宏
Linux设备驱动程序
Linux操作系统项目化教程
周秀丽;张徐超;周密
Linux设备驱动程序
Linux操作系统
刘睿;包大宏;兰晓天;李吉桃;王仕杰;吴晓清;张宏洲;杨云江
Linux设备驱动程序
Linux C语言程序设计(微课视频版)
张同光;田文强;荆春棋;田乔梅;陈明
Linux设备驱动程序
Linux虚拟化——原理、方法和实战(KVM+Docker+OpenStack)
吴光科;李建尧;柯宇霖
Linux设备驱动程序
Linux源码趣读
闪客
Linux设备驱动程序
Linux自动化运维实战(Linux开发书系)
吴光科;彭威城;文·S
Linux设备驱动程序
Linux云计算——Kubernetes实战
吴光科;程浩;刑亚飞
Linux设备驱动程序
Linux运维从入门到精通
明日科技
Linux设备驱动程序
Linux操作系统项目化教程(第2版)
洪伟 主编;丁传炜 谢鹏 副主编
Linux设备驱动程序
Linux企业高性能架构实战
吴光科;曹森;赵瑞丰
您可能感兴趣 / 更多
Linux设备驱动程序
孩子,把你的手给我1:怎么说孩子才爱听,怎么教孩子才肯学?帮助每一位3-12岁孩子的父母结束与孩子的所有冲突!
[美]海姆·G.吉诺特
Linux设备驱动程序
怎样做成大事
[美]丹·加德纳(Dan Gardner) 著;贾拥民 译;湛庐文化 出品;[丹麦]傅以斌(Bent Flyvbjerg)
Linux设备驱动程序
1200年希腊罗马神话
[美]伊迪丝·汉密尔顿
Linux设备驱动程序
爱情心理学(新编本)
[美]罗伯特·J. 斯腾伯格 (美)凯琳·斯腾伯格 倪爱萍 译
Linux设备驱动程序
黄金圈法则
[美]西蒙·斯涅克 著;磨铁文化 出品
Linux设备驱动程序
汤姆·索亚历险记 彩图注音版 一二三四年级5-6-7-8-9岁小学生课外阅读经典 儿童文学无障碍有声伴读世界名著童话故事
[美]马克 吐温
Linux设备驱动程序
富兰克林自传 名家全译本 改变无数人命运的励志传奇 埃隆马斯克反复推荐 赠富兰克林签名照及精美插图
[美]本杰明·富兰克林 著;李自修 译
Linux设备驱动程序
意大利文艺复兴新艺术史
[美]迈克尔·韦恩·科尔 著;[美]斯蒂芬·J·坎贝尔;邵亦杨
Linux设备驱动程序
汤姆素亚历险记:中小学生课外阅读快乐读书吧 儿童文学无障碍有声伴读世界名著童话故事
[美]马克·吐温
Linux设备驱动程序
老人与海 彩图注音版 一二三四年级5-6-7-8-9岁小学生课外阅读经典 儿童文学无障碍有声伴读世界名著童话故事
[美]海明威
Linux设备驱动程序
养育的觉醒:全面激发孩子自驱力,教你如何心平气和做妈妈
[美]凯文·莱曼 著;唐晓璐 译;斯坦威 出品
Linux设备驱动程序
国际大奖图画书系列 共11册(小老鼠的恐惧的大书,大灰狼,红豆与菲比,别烦我,下雪了 ,穿靴子的猫 ,先有蛋,绿 ,特别快递,如果你想看鲸鱼 ,一个部落的孩子 ) 麦克米伦世纪
[美]莱恩·史密斯 (英)埃米莉·格雷维特 (美)劳拉·瓦卡罗·等/文 (英)埃米莉·格雷维特 等/图 彭懿 杨玲玲 阿甲 孙慧阳 白薇 译