Linux设备驱动程序

Linux设备驱动程序
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: [美] (Corbet J.) , , ,
2006-01
版次: 1
ISBN: 9787508338637
定价: 69.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 569页
字数: 597千字
正文语种: 简体中文
原版书名: Linux Device Drivers,Third Edition
776人买过
  •   本书是经典著作《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系统自动化运维(Python版)(微课版)
张莉,丁传炜
Linux设备驱动程序
Linux操作系统
刘睿;包大宏;兰晓天;李吉桃;王仕杰;吴晓清;张宏洲;杨云江
Linux设备驱动程序
Linux源码趣读
闪客
Linux设备驱动程序
Linux 内核完全注释(20周年版) 赵炯
赵炯
Linux设备驱动程序
Linux网络操作系统项目式教程(CentOS 7.6)(微课版)(第2版)
刘正,张运嵩,尤澜涛主编
Linux设备驱动程序
Linux 内核完全剖析——基于0.12内核(15周年版) 赵炯
赵炯
Linux设备驱动程序
Linux高效学习教程:Linux就该这么学+Linux常用命令自学手册
刘遄 刘遄
Linux设备驱动程序
Linux后端开发工程实践
万木春
Linux设备驱动程序
Linux运维从入门到精通
明日科技
您可能感兴趣 / 更多
Linux设备驱动程序
亚拉山大的读心术(数学大师的逻辑课) 伦理学、逻辑学 [美]雷蒙德·m.斯穆里安(raymondm.smullyan)
[美]雷蒙德·m.斯穆里安(raymondm.smullyan)
Linux设备驱动程序
纳博科夫精选集第五辑
[美]弗拉基米尔·纳博科夫著
Linux设备驱动程序
九桃盘(美国二十世纪重要女诗人玛丽安·摩尔诗歌精选集,由知名女诗人和女性诗学研究者倪志娟倾情翻译)
[美]玛丽安•摩尔
Linux设备驱动程序
全新正版图书 制造德·戴维尼浙江教育出版社9787572276880
[美]理查德·戴维尼
Linux设备驱动程序
血泪之泣
[美]希瑟·丘·麦克亚当
Linux设备驱动程序
小学生趣味心理学(培养执行技能的40个练习,发展共情能力的46个练习,学会应对焦虑的40个练习 共3册) (美)莎伦·格兰德 王佳妮译
[美]莎伦·格兰德(sharon grand)
Linux设备驱动程序
(当代学术棱镜译丛)艺术批评入门:历史、策略与声音
[美]克尔·休斯顿
Linux设备驱动程序
金钱游戏(划时代增订版):深层透析金融游戏表象之下的规则与黑箱 长达60年盘踞金融畅销榜的现象级作品
[美]亚当·史密斯(Adam Smith) 著;刘寅龙 译
Linux设备驱动程序
矿王谷的黎明:塞拉俱乐部诉莫顿案与美国环境法的转变(精装典藏版)
[美]丹尼尔·P.塞尔米,(Daniel,P.Selmi)
Linux设备驱动程序
体式神话:瑜伽传统故事精粹(第二版) (从30个体式古老起源中汲取灵感与力量,内附精美插图)
[美]阿兰娜·凯瓦娅(Alanna Kaivalya)[荷]阿诸那·范德·库伊(Arjuna van der Kooij)
Linux设备驱动程序
诺奖作家给孩子的阅读课·生命教育(3-9年级,莫言余华的文学启蒙,垫高阅读起点,提升作文能力)
[美]海明威等
Linux设备驱动程序
蚯蚓的日记(全4册)【平装版】
[美]朵琳·克罗宁