crifan 发表于 2009-05-31 21:52

【很好的学习Linux驱动的教材】Linux那些事儿系列[全][pdf]

由复旦fudan_abc写的,风趣的文笔,深入浅出地讲解了Linux内核相关模块,
主要涉及了USB相关的模块,但是同样也解析了Linux驱动模型相关的知识,
很值得一读。
读过《linux那些事儿之我是U盘》的人,都知道其风格,我就不多说了。

网上多数只有《linux那些事儿之我是U盘》,或者是hu200298整理的系列之1:
linux那些事儿之我是U盘
linux那些事儿之我是USB Core
linux那些事儿之我是HUB
linux那些事儿之我是UHCI
linux那些事儿之我是Sysfs

此处,我加上刚整理的:
Linux那些事儿之我是Block层.pdf
Linux那些事儿之我是EHCI主机控制器.pdf
Linux那些事儿之我是PCI.pdf
Linux那些事儿之我是SCSI硬盘.pdf

另外附上作者的关于此几个模块间的阅读顺序的建议:
博客导读.txt

全部放到一起,方便感兴趣的看了。

汗刚发现,无法上传这么大的附件,只有一个个传了。。。
一个个传的,结果发表帖子等了半天后,显示错误无法发表。。。li

[ 本帖最后由 crifan 于 2009-5-31 22:21 编辑 ]

crifan 发表于 2009-05-31 21:55

占楼,上传

[ 本帖最后由 crifan 于 2009-5-31 22:53 编辑 ]

crifan 发表于 2009-05-31 21:57

网络不好,传几个小文件都能累死。。。

附上作者的:

博客导读

我是U盘 说的是2.6.10的内核

我是Sysfs 说的是2.6.10的内核

戏说USB 说的是2.6.22的内核

我是Hub/UHCI/EHCI 说的是2.6.22.1的内核

====================================================================================

其中我是U盘属于基础性的.这一阶段会遇到一些问题.比如urb提交之后究竟怎么处理的?用户空间究竟是如何访问U盘的?DMA究竟怎么回事.

这之后可以开始看Hub.这一阶段你会明白一个usb设备,比如U盘,连接到hub上之后都发生了什么.

然后是usb core(也就是戏说USB),这一阶段是个承上启下的角色,承的是U盘/HUB,启的是UHCI/EHCI,主要描述一个usb设备连接到hub上之后,在HUB和UHCI/EHCI之间也就是usb core里发生的故事.

再然后可以开始看UHCI/EHCI.这一阶段会找到上一阶段的部分问题的答案.但同时在PCI方面可能会遇到另外一些问题.比如PCI设备究竟如何被枚举的?

再然后是PCI总线驱动.这一阶段会找到上一阶段问题的答案.

再然后是scsi disk的驱动.这一阶段会找到第一阶段的部分问题的答案.即U盘是如何以一种磁盘的方式被访问的.

再然后是scsi core以及block层驱动.到了这一阶段基本上就能回答我是U盘中所有的困惑了.(其中Block层由于过于复杂和规模庞大,主要是举例和个别函数分析,主要是辅助另外几个模块进行分析.)

以上每一阶段代码跳跃性会逐渐增强,即开始会讲的细,之后会讲的粗.但整体上,各个阶段是相互关联的. 

====================================================================================

此外,

我是Sysfs是贯穿所有故事的,sysfs提供了诸多的接口,各个子系统都会用到.可以把它当作参考书.

这个系列可以伴随着相应的系列一起看,对理解其它各部分都有帮助.

[ 本帖最后由 crifan 于 2009-5-31 22:55 编辑 ]

almeydifer 发表于 2009-06-01 08:50

感觉复旦就是出牛人,像去年OSDI有个Haibo Chen,呵呵

toes 发表于 2009-06-01 09:46

回复 #3 crifan 的帖子

是很好,可惜一年多不更新 了

Godbach 发表于 2009-06-01 10:37

fudan_abc的文章确实让人很受益。

duanius 发表于 2009-06-01 11:31

搞usb睡眠唤醒的时候 看过hub和core中的一些内容受益匪浅
不过 印象中大部分文章是复旦甲写的比较幽默 比如hub core   sysfs等是abc写的 稍微严肃一些

carming 发表于 2009-06-09 07:58

正在学习中,谢谢总结这么全面

moon146 发表于 2009-06-09 13:35

XIEXIE

sleetboy 发表于 2009-06-09 14:53

页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: 【很好的学习Linux驱动的教材】Linux那些事儿系列[全][pdf]