找回密码
 注册
搜索
查看: 3745|回复: 21

[综合资料] linux 那些事

[复制链接]
发表于 2008-4-21 09:26:56 | 显示全部楼层 |阅读模式
超强人用哲学的故事描绘关于 linux驱动
【文件名】:08421@52RD_Linux那些事之我是HUB.pdf
【格 式】:pdf
【大 小】:1378K
【简 介】:超强人用哲学的故事描绘关于 linux驱动
本文来自:我爱研发网(52RD.com) 详细出处:http://www.52rd.com/bbs/post.asp?action=new&boardid=38
【目 录】:目录
引子 4
跟我走吧,现在就出发 6
特别的爱给特别的ROOT HUB 8
一样的精灵不一样的API 12
那些队列,那些队列操作函数 16
等待,只因曾经承诺 22
最熟悉的陌生人--PROBE 26
蝴蝶效应 30
WHILE YOU WERE SLEEPING(一) 34
WHILE YOU WERE SLEEPING(二) 41
WHILE YOU WERE SLEEPING(三) 44
WHILE YOU WERE SLEEPING(四) 53
再向虎山行 56
树,是什么样的树? 61
没完没了的判断 65
一个都不能少 71
盖茨家对LINUX代码的影响 83
八大重量级函数闪亮登场(一) 89
八大重量级函数闪亮登场(二) 99
八大重量级函数闪亮登场(三) 102
八大重量级函数闪亮登场(四) 105
八大重量级函数闪亮登场(五) 120
八大重量级函数闪亮登场(六) 125
是月亮惹的祸还是SPEC的错 136
所谓的热插拔 140
不说代码说理论 144
支持计划生育--看代码的理由 148
电源管理的四大消息 155
将将SUSPEND分析到底 159
梦醒时分 171
挂起自动化


 楼主| 发表于 2008-4-21 09:30:30 | 显示全部楼层
一些精彩的话语
特别的爱给特别的Root Hub
莎士比亚曾经说过,不懂hub 是怎么工作的就等于不知道usb 设备驱动是怎么工作的.这句话一
点没错,因为usb 设备的初始化都是hub 这边发起的,通常我们写usb 设备驱动程序都是在已经
得到了一个struct usb_interface 指针的情况下开始probe 工作,可是我要问你,你的struct
usb_interface 从哪来的?你以为你的设备天生丽质?长得比较帅?一插入usb 口就有了?如果有
人说是的,那么我只能说,相信这个人的嘴,不如相信世上有鬼!老实说,要想知道从usb 设备插入
usb 口的那一刻开始,这个世界发生了什么,你必须知道hub 是怎么工作的,Linux 中hub 驱动程
序是怎么工作的.


.世界在变,Linux 内核代码当然也在变,小时候我
为人不识谭浩强,精通内核也枉然
13
们看周润发赵雅芝演的上海滩,长大了我们看孙俪黄晓明演的上海滩.都是上海滩,只是版本不同,
只是内容不同.内核kthread_run()就扮演着2.6.10 内核那个kernel_thread()的作用.不过
当时kernel_thread() 返回值是一个int 型的, 而kthread_run() 返回的却是struct
task_struct 结构体指针.这里等号左边的khubd_task 是我们自己定义的一个struct
task_struct 指针.
88 static struct task_struct *khubd_task;



人的无聊,有时候很难用语言表达.以下关于IS_ERR 的文字仅献给无聊的你.如果你对内存管理
没有任何兴趣,就不用往下看了,跳到下一节吧.要想明白IS_ERR(),首先你得知道有一种空间叫
做内核空间,不清楚也不要紧,我也不是很清楚,曾经,在复旦,上操作系统这门课的时候,我一度以
为我已经成为天使了,因为我天天上课都在听天书.后来,确切地说是去年,我去微软全球技术中心
(GSTC)面试的时候,那个manager 就要我解释这个名词,要我谈一谈对内核空间和用户空间的
理解,其实我也挺纳闷的,我只不过是希望能成为微软的一名技术支持工程师,居然还要懂内核,你
说这是什么世道?中学时候,老师不是跟我说只要学好数理化,走遍天下都不怕吗?算了,不去想这
些伤心往事了.结合IS_ERR()的代码来看,来自include/linux/err.h:


最后,总结陈词,本方论点:中学我们学习写议论文的时候,老师教过有这样几种结构,总分总式结
构,对照式结构,层进式结构,并列式结构.而总分总式就是先提出中心论点,然后围绕中心,以不同
角度提出分论点,展开论述,最后进行总结.而总分总具体来说又有总分,分总,总分总三种形式.以
前我以为Linus只是技术比我强,现在我算是看明白了,这家伙语文学得也比我好.看出来了么?这
里采用的就是我们议论文中的总分总结构,先设置一个链表,hub_event_list,设置一个总的函数
hub_events(),这是总,然后每一个hub 都有一个event_list,每当有一个hub 的event_list
出现了变化,就把它的event_list 插入到hub_event_list 中来,这是分,然后触发总函数
hub_events(),这又是总,然后在hub_events()里又根据event_list 来确定是哪个struct
usb_hub,或者说是哪个hub 有事情,又针对该hub 进行具体处理,这又是分.这就是Linux 中
hub驱动的中心思想.Linus,I 服了U!从前我只佩服复旦大学中文系系主任陈思和,他早上8点的
公选课学生7点去就没有了座位,堪称复旦的奇迹,而Linus你和你的那些伙伴们让我们知道了真
正的文学泰斗是从来不写文学著作的!是从来不讲论语心得,从来不去品三国的!
点评回复

使用道具 举报

发表于 2008-4-21 18:06:28 | 显示全部楼层
not bad
点评回复

使用道具 举报

 楼主| 发表于 2008-4-22 13:47:38 | 显示全部楼层
not bad 中文翻译 not =不 bad 错,
不错? 这样理解对啊?
点评回复

使用道具 举报

发表于 2009-11-14 21:42:14 | 显示全部楼层
看着还不错啊
点评回复

使用道具 举报

发表于 2009-11-15 14:50:46 | 显示全部楼层
好像很好玩的样子... - -+
点评回复

使用道具 举报

发表于 2009-11-27 13:48:44 | 显示全部楼层
看着挺好玩得。。。娱乐的时候看看?
点评回复

使用道具 举报

发表于 2009-11-27 15:57:18 | 显示全部楼层
不错。。。很强悍。
点评回复

使用道具 举报

发表于 2009-11-29 15:32:56 | 显示全部楼层
寓教于乐,赫赫
点评回复

使用道具 举报

发表于 2009-11-30 20:54:48 | 显示全部楼层
一定抽空看看
点评回复

使用道具 举报

发表于 2009-12-4 10:12:44 | 显示全部楼层
Many thanks! You are indeed a good colleague.
点评回复

使用道具 举报

发表于 2009-12-6 14:11:00 | 显示全部楼层
还有其他的吗/
点评回复

使用道具 举报

发表于 2010-3-1 23:29:11 | 显示全部楼层
qwwerrttyuiio
点评回复

使用道具 举报

发表于 2010-7-19 09:29:06 | 显示全部楼层
文笔生动,期待内容(继续中...)
点评回复

使用道具 举报

发表于 2010-9-16 13:32:07 | 显示全部楼层
支持一下!!!
点评回复

使用道具 举报

发表于 2010-10-6 16:42:54 | 显示全部楼层
好东西,谢了。。。
点评回复

使用道具 举报

发表于 2010-10-9 15:36:33 | 显示全部楼层
粗看了一下,写的很好。
竟然让我这个Linux大白痴有读kernel的冲动。
顺便问一下,看大哥这个标题,貌似还有,应该类似LINUX之我是ROOT或HUB前传之类的,期待共享!
片尾曲感同深受!
点评回复

使用道具 举报

发表于 2010-11-9 00:14:20 | 显示全部楼层
不错啊!Those who think themselves as being
full of niubility and like to play zhuangbility
merely reflect their shability.
点评回复

使用道具 举报

发表于 2010-12-8 13:34:57 | 显示全部楼层
not bad 中文翻译 not =不 bad 错,
不错? 这样理解对啊?
本文来自:我爱研发网(52RD.com) - R&D大本营
详细出处:http://www.52rd.com/bbs/Detail_RD.BBS_123602_38_1_1.html
点评回复

使用道具 举报

发表于 2011-2-18 17:16:35 | 显示全部楼层
不错的东西。。。
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2024-10-9 04:19 , Processed in 0.064053 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表