Linux设备驱动程序

Linux设备驱动程序
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: [美] (Corbet J.) , , ,
2006-01
版次: 1
ISBN: 9787508338637
定价: 69.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 569页
字数: 597千字
正文语种: 简体中文
原版书名: Linux Device Drivers,Third Edition
767人买过
  •   本书是经典著作《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设备驱动程序
宇宙视觉史:从宇宙大爆炸到时间的尽头
[美]查尔斯·刘 著;高爽 译者;[美]马克西姆· 马洛维奇科 绘;未读 出品
Linux设备驱动程序
写出我心 普通人如何通过写作表达自己(平装本)
[美]娜塔莉·戈德堡(Natalie Goldberg)
Linux设备驱动程序
写出我心3 写作疗愈的真正秘密
[美]娜塔莉·戈德堡(Natalie Goldberg)
Linux设备驱动程序
神套路:为什么我们总被带节奏(狂热与网红时代醍醐灌顶之作,教给普通人安身立命的不二法门!)
[美]阿里·阿莫萨维 著;[哥伦比亚]亚历杭德罗·希拉尔多 绘
Linux设备驱动程序
阿伦森自传
[美]埃利奥特·阿伦森(Elliot Aronson) 著;沈捷 译;湛庐文化 出品
Linux设备驱动程序
街头官僚:公共服务中的个人困境
[美]迈克尔·李普斯基(Michael Lipsky)
Linux设备驱动程序
史前至蒙古帝国时期的内欧亚大陆史
[美]大卫·克里斯蒂安 著;潘玲 译;杨建华 校
Linux设备驱动程序
意大利文艺复兴新艺术史
[美]迈克尔·韦恩·科尔 著;[美]斯蒂芬·J·坎贝尔;邵亦杨
Linux设备驱动程序
老人与海 彩图注音版 一二三四年级5-6-7-8-9岁小学生课外阅读经典 儿童文学无障碍有声伴读世界名著童话故事
[美]海明威
Linux设备驱动程序
养育的觉醒:全面激发孩子自驱力,教你如何心平气和做妈妈
[美]凯文·莱曼 著;唐晓璐 译;斯坦威 出品
Linux设备驱动程序
自律我也能做到(全9册)
[美]康妮·科维尔·米勒 著;[阿根廷]维多利亚·阿萨纳利 绘
Linux设备驱动程序
你在等什么?
[美]斯科特·明钦 著;[中]易万 译;[美]马特 ·斐兰 绘