书籍详情

LINUX设备驱动程序:涵盖Linux 2.4

LINUX设备驱动程序:涵盖Linux 2.4

作者:(美)Alessandro Rubini,(美)Jonathan Corbet著;魏永明等译

出版社:中国电力出版社

出版时间:2002-01-01

ISBN:9787508312941

定价:¥69.00

购买这本书可以去
内容简介
  本书面向的读者是那些想在Linux操作系统下支持各种计算机外设,或者想开发新的硬件并在Linux下运行的人们。Linux是Unix市场中增长最快的部分,并且在许多应用领域获得了广泛的支持。现在,人们越来越清楚地认识到Linux是嵌入式系统的一个极佳平台,本书第二版已经成为该领域的经典之作。本书作者将以往那些口述式的经验和知识、或者隐晦的源代码注释上升为系统地讲述各种设备驱动程序编写方法的著作。Linux内核的2.4版在设备驱动程序方面发生了重大变化,它简化了许多工作,但同时提供了许多精细的新功能,可让驱动程序更加高效、灵活。本书第二版透彻地讲述了这些变化,并介绍了许多新的处理器和总线结构。要阅读和欣赏本书,并不要求您是一名内核黑客,您所需要具备的只是对C语言和一些Unix系统调用的背景知识的了解。本书循序渐进地讲述了字符设备、块设备和网络接口的驱动程序,并且给出了功能完善的示例驱动程序。这些示例驱动程序说明了驱动程序设计中的许多问题以及解决方法,并且不需要任何特定的硬件就可以运行。本书第二版的重要修订包括:对对称多处理器(SMP)系统和锁机制的讨论、对新CPU以及新近支持的总线的讨论等等。如果您对操作系统完成其任务的方式感兴趣,那么本书还提供了对地址空间、异步事件和I/O的深入讨论。可移植性是本书的一个主要关注点。尽管本书主要讲述2.4版本,但在可能的情况下,我们也讲述了2.4版本以前直到2.0版本的相关内容。本书还介绍了如何在各种硬件平台上实现最大程度的可移植性。示例驱动程序已经在IA32(PC)和IA64、PowerPC、SPARC和SPARC64、Alpha、ARM以及MIPS等平台上经过了测试。
作者简介
  Alessandro Rubini在获得电子工程师资格后不久,他就安装了Linux 0.99.14版本。后来,他在Pavia大学获得了计算机科学博士学位。但很快就离开了大学,因为他实在不想写文章。现在,他是一名自由撰写人,编写有关设备驱动程序方面的文章(这也是命运的安排)。在他的小孩出世之前,他曾是一名年轻的黑客,而现在他是一位老练、偏爱非PC计算机平台开发的自由软件鼓吹者。
目录
前言
第一章 设备驱动程序简介
设备驱动程序的作用
内核功能划分
设备和模块分类
安全问题
版本编号
许可证条款
加入内核开发社团
本书概要
第二章 构建和运行模块
核心模块与应用程序的对比
编译和装载
内核符号表
初始化和关闭
使用资源
自动和手动配置
在用户空间编写驱动程序
向后兼容性
快速参考
第三章 字符设备驱动程序
scull的设计
主设备号和次设备号
文件操作
file结构
open和release
scull的内存使用
竞态简介
read 和 write
试试新设备
设备文件系统
向后兼容性
快速参考
第四章 调试技术
通过输出调试
通过查询调试
通过监视调试
调试系统故障
调试程序和相关工具
第五章 增强的字符驱动程序操作
inctl
阻塞型I/O
poll和 select
异步通知
定位设备
设备文件的访问控制
向后兼容性
快速参考
第六章 时间流
内核中的时间间隔
获取当前时间
延迟执行
任务队列
内核定时器
向后兼容性
快速参考
第七章 获取内存
kmalloc函数的内幕
后备高速缓存
get_free_page和相关函数
vmalloc与相关函数
引导时的内存分配
向后兼容性
快速参考
第八章 硬件管理
I/O端口和 I/O内存
使用I/O端口
使用数字 I/O端口
使用I/O内存
向后兼容性
快速参考
第九章 中断处理
中断的整体控制
准备并口
安装中断处理程序
实现中断处理程序
tasklet和底半部处理
中断共享
中断驱动的I/O
竞态
向后兼容性
快速参考
第十章 合理使用数据类型
使用标准C语言类型
为数据项分配确定的空间大小
接口特定的类型
其他有关移植性的问题
链表
快速参考
第十一章 kmod和高级模块化
按需加载模块
模块间通信
模块中的版本控制
向后兼容性
快速参考
第十二章 装载块设备驱动程序
注册驱动程序
头文件bib.h
请求处理简介
请求处理详解
挂装和卸装是如何工作的
ioctl方法
可移动设备
可分区设备
中断驱动的块设备驱动程序
向后兼容性
快速参考
第十三章 mmap和 DMA
Linux的内存管理
mmap设备操作
kiobuf接口
直接内存访问和总线主控
向后兼容性
快速参考
第十四章 网络驱动程序
snull的设计
连接到内核
net_device结构的细节
打开和关闭
数据包传输
数据包的接收
中断处理程序
链路状态的改变
套接字缓冲区
MAC地址解析
定制ioctl命令
统计信息
组播
向后兼容性
快速参考
第十五章 外设总线综述
PCI接口
ISA回顾
PC/104和 PC/104+
其他的PC总线
SBus
NuBus
外部总线
向后兼容性
快速参考
第十六章 内核源代码的物理布局
引导内核
引导之前
init进程
kernel目录
fs目录
mm目录
net目录
ipc和lib
include和 arch
drivers目录
参考文献
词汇表
猜您喜欢

读书导航