自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(289)
  • 资源 (5)
  • 收藏
  • 关注

原创 《Linux那些事儿之我是USB》我是U盘(7)狂欢是一群人的孤单

Linux设备模型中三个很重要的概念就是总线、设备和驱动,即bus、device和driver。而实际上内核中也定义了这么一些数据结构,他们是structbus_type,struct device,struct device_driver,这三个重要的数据结构都来自同一个地方,称include/linux/device.h。

2011-06-30 12:22:00 10805 10

原创 《Linux那些事儿之我是USB》我是U盘(6)未曾开始却似结束

这一切,不禁让人产生了一种幻觉,让人分不清故事从哪里开始,又从哪里结束,一切都太短暂了。仿佛开始在结束时开始,而结束却在开始时就早已结束。

2010-09-13 09:36:00 9261

原创 《Linux那些事儿之我是USB》我是U盘(5)外面的世界很精彩

看代码之前,我曾经认真地思考过这么一个问题,需要关注的仅仅是drivers/usb/storage/目录下面那相关的3000多行代码吗?就是这样几个文件就能让一个个不同的U盘在Linux下面工作起来吗?像一开始那样把这个目录比成一个小城的话,也许,城里的月光很漂亮,她能够把人的梦照亮,能够温暖人的心房。但我们真的就能厮守在这个城里,一生一世吗?

2010-08-19 22:28:00 8891 5

原创 《Linux那些事儿之我是USB》我是U盘(4)想到达明天现在就要启程

真的,我没说假话,写驱动不是什么难事,你完全可以很自信地说,你已经可以写设备驱动了。对,没错,“飘柔,就这么自信。”

2010-08-11 08:24:00 10078 4

原创 《Linux那些事儿之我是USB》我是U盘(2)Makefile

“出来混,迟早要还的。”

2010-08-05 22:35:00 12039 1

原创 《Linux那些事儿之我是USB》我是U盘(1)小城故事

这个故事中使用的是2.6.22的内核代码。

2010-08-02 23:35:00 14260 2

原创 《Linux那些事儿之我是USB》前言

1992年,那是一个春天。不过其实1991年又何尝不是一个春天呢,因为正是在那一年,Linux诞生了。又因为开放源代码的缘故,十几年来Linux是越来越火,熊熊火焰也烧到了华夏大地。诸多高校开始开设Linux相关的课程,诸多企业开始招聘Linux相关的人才。市面上关于Linux的书籍也层出不穷,而这其中大致分为两类,一类是应用方面的,比如介绍如何组建各种服务器啊,另一类是内核方面的,主要都是对内核源代码的进行分析,这方面的书籍则以《Linux设备驱动程序》和《深入理解Linux内核》为经典代表。而从眼下国内

2010-07-29 12:34:00 19953 19

原创 《Linux内核修炼之道》 之 高效学习Linux驱动开发

这本《Linux内核修炼之道》已经开卖(网上的链接为:卓越、当当、china-pub),虽然是严肃文学,但为了保证流畅性,大部分文字我还都是斟词灼句,反复的念几遍才写上去的,尽量考虑到写上去的每段话能够让读者产生什么疑惑,然后也都会紧接着尽量的去进行解释清楚,中间的很多概念也有反复纠结过怎么解释能够更容易的理解,力求即使对于初学者也可以有很少阻碍的一气读完。同时我也把书中一部分自己的感悟抽出来...

2010-07-22 20:52:00 50305 52

原创 《Linux内核修炼之道》 之 高效学习Linux内核

世界悲结束了,章鱼哥也退役了,连非诚勿扰中的拜金女也突然的少了很多。这本《Linux内核修炼之道》在卓越、当当、china-pub上也已经开卖了,虽然是严肃文学,但为了保证流畅性,大部分文字我还都是斟词灼句,反复的念几遍才写上去的,尽量考虑到写上去的每段话能够让读者产生什么疑惑,然后也都会紧接着尽量的去进行解释清楚,中间的很多概念也有反复纠结过怎么解释能够更容易的理解,力求即使对于初学者也可以有很...

2010-07-15 23:10:00 55769 68

原创 新书出版动态

《Linux那些事儿 之 我是USB》现在已经陆续上架了,我刚拿到博文视点的样书,品相非常不错,值得收藏,呵呵。书的内容添了很多新货色,风格也和博客保持一致,所以不用担心变得枯燥了。(7月28日: 刚看到北京新华书店的页面,今天已经在卖了,淘宝上也有卖的,另外卓越上也有,但是处于缺货状态)

2010-07-06 16:05:00 10216 34

原创 《Linux内核修炼之道》精华分享与讨论(22)——方法论

那么什么是方法论?很多人都应该会很自然的回答方法论就是方法,这也没错,那么这里为什么要使用方法论这个词,不是我非要在这里故弄玄虚,这都要怪笛卡儿在17世纪的某一天,闲极无聊写了这么一本书,书名就叫《方法论》,在这本目前来说绝大部分人都不知道的书里将方法上升到了理论的高度,于是就有了方法论。

2010-06-07 09:24:00 13136 20

原创 《Linux内核修炼之道》精华分享与讨论(21)——二分法与printk()

人生就是一个茶几,上面摆满了杯具。内核也是一个大茶几,不过它上面的杯具是一个个的bug。确定bug什么时候被引入是一个很关键的步骤,在这个定位bug的过程中,不论有意或无意,都会很自然地用到二分查找的方法。二分查找法的基本原理 对于二分查找法,我们不会也不应该会感到陌生。作为一种高效的查找算法,它曾出现在我们的数据结构课堂里,出现在一次又一次的面试里,更是会频繁地应用在我们的代码里

2010-04-29 18:45:00 15389 22

原创 《Linux内核修炼之道》精华分享与讨论(20)——学会使用Git

推荐博文: Linux内核“问题门”——学习问题、经验集锦推荐下载:《Linux内核修炼之道》精华版之方法论 作为一名人民的好干部,如果希望被惦记,可以学我们的郑书记,将自己和蔼可亲的光辉形象搬上台历;作为一名有梦想有追求而又不知道如何出名的人,你可以参考对岸的“超想被包养”社团。而作为一个内核爱好者,要想成为一名内核开发者,为内核贡献自己的代码,我们必须要能够与其他众

2010-04-26 23:20:00 12137 3

原创 《Linux内核修炼之道》精华分享与讨论(19)——不稳定的内核API

推荐博文: Linux内核“问题门”——学习问题、经验集锦推荐下载:《Linux内核修炼之道》精华版之方法论 刚才欣闻在SB会试运行期间,参观的上海市民情绪非常稳定的,很好很舒服的展示了自己的风采。于是我们要在这里要反思一下,为什么内核的API就不能同样的稳定?开源社区正以极快的速度向内核中添加新功能,同时又在努力让修补bug的步伐跟上去,放慢开发速度看上去是不太可

2010-04-22 22:39:00 8709 6

原创 《Linux内核修炼之道》精华分享与讨论(18)——选择发行版

推荐博文: Linux内核“问题门”——学习问题、经验集锦推荐下载:《Linux内核修炼之道》精华版之方法论      学习内核首先要会使用它,依照一个由上至下循序渐进的过程,在能够熟练的使用Linux操作系统之后再去研究内核中的实现。因此,了解并选择一个发行版进行安装使用便是一个不能回避的过程。      目前已经有超过600个Linux发行版,可以在http://en

2010-04-19 21:55:00 7847 6

原创 《Linux内核修炼之道》精华分享与讨论(17)——子系统的初始化:以PCI子系统为例

推荐博文: Linux内核“问题门”——学习问题、经验集锦推荐下载:《Linux内核修炼之道》精华版之方法论 由Kconfig这张地图的分布来看,PCI这块儿的代码应该分布在两个地方,drivers/pci和arch/i386/pci,两岸三地都属于一个中国,不管是drivers/pci那儿的,还是arch/i386/pci那儿的,也都只属于一个PCI子系统,本着一个中国的原则,咱们要

2010-04-15 22:33:00 8517 8

原创 《Linux内核修炼之道》精华分享与讨论(15)——子系统的初始化:内核选项解析

推荐博文: Linux内核“问题门”——学习问题、经验集锦推荐下载:《Linux内核修炼之道》精华版之方法论 首先感谢国家。其次感谢上大的钟莉颖,让我知道了大学不仅有校花,还有校鸡,而且很多时候这两者其实没什么差别。最后感谢清华女刘静,让我深刻体会到了素质教育的重要性,让我感到有责任写写子系统的初始化。各个子系统的初始化是内核整个初始化过程必然要完成的基本任务,这些任务按照

2010-04-08 23:42:00 11401 8

原创 《Linux内核修炼之道》精华分享与讨论(14)——内核中的链表

推荐博文: Linux内核“问题门”——学习问题、经验集锦推荐下载:《Linux内核修炼之道》精华版之方法论  早上上班坐地铁要排队,到了公司楼下等电梯要排队,中午吃饭要排队,下班了追求一个女孩子也要排队,甚至在网上下载个什么门的短片也要排队,每次看见人群排成一条长龙时,才真正意识到自己是龙的传人。那么下面咱们就说说队列(链表)。 使用链表的目的很明确,因为有很多事

2010-04-02 08:07:00 12155 23

原创 《Linux内核修炼之道》精华版 之 方法论(提供pdf下载)

到目前为之,博客上分享的精华篇都可以归为方法论的范畴,在很多时候,都是方法论要比细节紧要得多。而这些精华篇又可细分为三个专题:Linux大史记;内核学习的方法论;驱动开发的方法论。Linux大史记除去那些精彩的“门”,我们生活中乏味的事情太多了,所以不希望再去按惯例花个一二页的篇幅乏味的写个“Linux简介”,就将几天中出去溜弯的时间贡献了出来,逐年逐月的搜集整理了一些Linux成

2010-03-31 08:56:00 17722 12

原创 《Linux内核修炼之道》精华分享与讨论(13)——驱动开发三件宝:spec、datasheet与内核源码

推荐博文: Linux内核“问题门”——学习问题、经验集锦推荐下载:《Linux内核修炼之道》精华版之方法论 设备模型之外,对于驱动程序的开发者来说,有三样东西是不可缺少的:第一是协议或标准的spec,也就是规范,比如usb协议规范;第二是硬件的datasheet,即你的驱动要支持的硬件的手册;第三就是内核里类似驱动的源代码,比如你要写触摸屏驱动的话,就可以参考内核里已经有的一

2010-03-29 07:32:00 12457 23

原创 《Linux内核修炼之道》精华分享与讨论(12)——设备模型(下)

推荐博文: Linux内核“问题门”——学习问题、经验集锦推荐下载:《Linux内核修炼之道》精华版之方法论 设备模型拍得再玄幻,它也只是个模型,必须得落实在具体的子系统,否则就只能抱着个最佳技术奖空遗恨。既然前面已经以USB子系统的实现分析示例了分析内核源码应该如何入手,那么这里就仍然以USB子系统为例,看看设备模型是如何软着陆的。内核中USB子系统的结构 我们已经知道了

2010-03-25 23:42:00 18658 47

原创 《Linux内核修炼之道》精华分享与讨论(11)——设备模型(上)

推荐博文: Linux内核“问题门”——学习问题、经验集锦推荐下载:《Linux内核修炼之道》精华版之方法论 对于驱动开发来说,设备模型的理解是根本,毫不夸张得说,理解了设备模型,再去看那些五花八门的驱动程序,你会发现自己站在了另一个高度,从而有了一种俯视的感觉,就像凤姐俯视知音和故事会,韩峰同志俯视女下属。顾名而思义就知道设备模型是关于设备的模型,既不是任小强们的房模,也不是

2010-03-24 09:23:00 21742 56

原创 Linux内核“问题门”——学习问题、经验集锦(持续更新中……)

推荐下载:《Linux内核修炼之道》精华版之方法论 陈宪章说:“学贵有疑,小疑则小进,大疑则大进。疑者,觉悟之机也,一番觉悟一番长进。”培根说:“多问的人将多得。”还在学校的时候导师在激情讲演之后对着会议室里形态各异但均静默不语的我们痛心疾首的说:“会提问题很重要啊,同志们!不会提问题怎么有资格做研究!”这样铿锵有力的训诫今日想起仍觉深受刺激,于是就要不可避免得要做出一些反应来

2010-03-22 08:25:00 25843 73

原创 《Linux内核修炼之道》精华分享与讨论(10)——模块机制与“Hello World!”

推荐博文: Linux内核“问题门”——学习问题、经验集锦推荐下载:《Linux内核修炼之道》精华版之方法论 有一种感动,叫内牛满面,有一种机制,叫模块机制。显然,这种模块机制给那些Linux的发烧友们带来了方便,因为模块机制意味着人们可以把庞大的Linux内核划分为许许多多个小的模块。对于编写设备驱动程序的开发者来说,从此以后他们可以编写设备驱动程序却不需要把她编译进内核,不用r

2010-03-15 09:36:00 13443 31

原创 《Linux内核修炼之道》精华分享与讨论(9)——内核学习的相关资源

推荐博文: Linux内核“问题门”——学习问题、经验集锦推荐下载:《Linux内核修炼之道》精华版之方法论     “世界上最缺的不是金钱,而是资源。”当我在一份报纸上看到这句大大标题时,我的第一反应是——作者一定是个自然环保主义者,然后我在羞愧得反省自身的同时油然生出一股对这样的无产主义理想者无比崇敬的情绪来。     于是,我继续往下看,“因此在XXX还未正式面市之时

2010-03-11 23:44:00 21279 33

原创 《Linux内核修炼之道》精华分享与讨论(8)——内核学习的心理问题

推荐博文: Linux内核“问题门”——学习问题、经验集锦推荐下载:《Linux内核修炼之道》精华版之方法论 对于学习来说,无论是在学校的课堂学习,还是这里说的内核学习,效果好或者坏,最主要取决于两个方面——方法论和心理。注意,我无视了智商的差异,这玩意儿玄之又玄,岔开了说,属于迷信的范畴。 前面又是Kernel地图,又是如何入手,说的都是方法论的问题,那么这里要面对的就主

2010-03-10 09:21:00 13131 12

原创 《Linux内核修炼之道》精华分享与讨论(7)——分析内核源码如何入手?(下)

推荐博文: Linux内核“问题门”——学习问题、经验集锦推荐下载:《Linux内核修炼之道》精华版之方法论 下面的分析,米卢教练说了,内容不重要,重要的是态度。就像韩局长对待日记的态度那样,严谨而细致。只要你使用这样的态度开始分析内核,那么无论你选择内核的哪个部分作为切入点,比如USB,比如进程管理,在花费相对不算很多的时间之后,你就会发现你对内核的理解会上升到另外一个高度,

2010-03-08 08:25:00 18861 39

原创 《Linux内核修炼之道》精华分享与讨论(6)——分析内核源码如何入手?(上)

推荐博文: Linux内核“问题门”——学习问题、经验集锦推荐下载:《Linux内核修炼之道》精华版之方法论 透过现象看本质,兽兽门无非就是一些人体艺术展示。同样往本质里看过去,学习内核,就是学习内核的源代码,任何内核有关的书籍都是基于内核,而又不高于内核的。既然要学习内核源码,就要经常对内核代码进行分析,而内核代码千千万,还前仆后继的不断往里加,这就让大部分人都有种雾里看花花

2010-03-05 00:00:00 26636 18

原创 《Linux内核修炼之道》精华分享与讨论(5)——Kernel地图:Kconfig与Makefile

推荐博文: Linux内核“问题门”——学习问题、经验集锦推荐下载:《Linux内核修炼之道》精华版之方法论 Makefile不是Make Love从前在学校,混了四年,没有学到任何东西,每天就是逃课,上网,玩游戏,睡觉。毕业的时候,人家跟我说Makefile我完全不知,但是一说Make Love我就来劲了,现在想来依然觉得丢人。毫不夸张地说,Kconfig和Mak

2010-03-02 22:25:00 29633 33

原创 《Linux内核修炼之道》精华分享与讨论(4)——缅怀已逝的十八年(2007~2009)

来自微软的指控 2007年   1月,虚拟人生游戏(Second Life)客户端开源。两大Linux领导社团OSDL和Free Standard Group宣布合并为新的Linux Foundation(Linux基金会),此举将促进社区的资源整合,也使Linux在企业市场能够更加高效地参与竞争。  2月,Bill Xu发起了一个“致招商银行的公开信”的行动,希望用这种方式促使招商银行改变在

2010-02-28 23:14:00 16195 9

原创 《Linux内核修炼之道》精华分享与讨论(3)——缅怀已逝的十八年(2003~2006)

Ubuntu 4.10 2003年   1月,NEC宣布将在其手机中使用Linux,代表着Linux成功进军手机领域。  6月,IDC分析师称,2003年Linux服务器在西欧的销售量将达到18.2万台,到2007年,销售量将增至这个数字的三倍,销售收入将翻一番,达到19亿美元。  8月,韩国国家航空公司和IBM联合发布声明,表示韩国航空公司将把该公司的核心业务移植到IBM的eServer服务

2010-02-27 09:33:00 17522 6

原创 《Linux内核修炼之道》精华分享与讨论(2)——缅怀已逝的十八年(1999~2002)

提前发生的革命1999年  1月,“Linux 2.2已经发布,我终于可以松口气了”创造者Linus Torvalds说。  3月,首届LinuxWorld讨论会和博览会在加洲的圣何塞举行,作为Linux第一个大的商业化的贸易展示活动,它无疑向世界昭示了Linux的到来。  8月,SG宣布了与Red Hat的合作关系,并且开始大规模的为内核的发展做贡献。Red Hat进行了首次公开募股,股价马

2010-02-26 18:24:00 13529 7

原创 《Linux内核修炼之道》精华分享与讨论(1)——缅怀已逝的十八年(1991~1998)

推荐博文: Linux内核“问题门”——学习问题、经验集锦推荐下载:《Linux内核修炼之道》精华版之方法论 至此落笔之际,恰至Linux问世18周年,18年的成长,风雨颇多,感慨颇多,谨以这些许年来的点滴之事为Linux的成人礼添彩。 如果你尚未与Linux亲密接触过,那么希望这里的内容可以成为你初识Linux的见证。如果你已经是个Linux达人,那么就选个安静的早晨,抑

2010-02-25 21:37:00 33503 21

原创 Linux内核修炼之道 之 前言

推荐博文: Linux内核“问题门”——学习问题、经验集锦推荐下载:《Linux内核修炼之道》精华版之方法论 至此落笔之际,恰至Linux问世18周年,18年的成长,如梦似幻,风雨颇多,感慨颇多。犹自忆起多年以前一位前辈训导时的箴言:今天的必然正是由之前一系列的偶然所决定的。过去的某年某月,我偶然初识Linux就身陷其中,至今仍找不到出去的路,而正是这次乃至之后的多次偶然相联合

2010-02-24 19:29:00 24102 36

原创 新书预告:《Linux内核修炼之道》

首先祝各位朋友虎年快乐!  其次有些惭愧得道个歉,已经有几乎两年时间没有更新过了,有些时候想想这里面还没完成的内容,比如pci部分,还是觉得蛮对不起关心的朋友们的,无奈总是一些事情缠身,忙的如痴如醉的,就没顾得上,不过缺的内容会完成的,恩,一定会的。  再次,不在csdn的这么些时间里,应人民邮电出版社编辑朋友的约,润色了一本内核的书,起名字的时候,刚好瞅见一本修仙小说,貌似叫《凡

2010-02-24 18:31:00 10257 31

原创 kdb代码分析(七)

在大家都进入了kdb之后,in control的那个cpu就开始执行1566行的kdb_local()函数了.依然定义于kdb/kdbmain.c:   1134 /*   1135  * kdb_local   1136  *   1137  *      The main code for kdb.  This routine is invoked on a specifi

2008-03-04 11:08:00 9613 2

原创 kdb代码分析(六)

我们带着这个参数回到kdb()里面去看,我们会发现,各cpu都会跳到kdba_main_loop()去.这个函数定义于arch/i386/kdb/kdbasupport.c    577 /*    578  * kdba_main_loop    579  *    580  *      Do any architecture specific set up before

2008-03-03 21:41:00 4324

原创 kdb代码分析(五)

 于是我们还是直接来看kdb()吧.这个函数有多长?说出来吓死你,近500行,光注释就有一两百行.写代码的估计一边写着,一边心里嘀咕着:XP不发威,你当我是DOS啊!   1615 /*   1616 * kdb   1617 *   1618 *      This function is the entry point for the kernel debugger. 

2008-03-03 21:32:00 4972

原创 kdb代码分析(四)

先来看KDB_ENTER().这是与体系结构相关的宏.对于i386来说,我们得看i386特定的patch(即kdb-v4.4-2.6.22-i386-1):  14434 Index: linux/include/asm-i386/kdb.h  14435 =================================================================

2008-03-03 14:20:00 4483

原创 kdb代码分析(三)

Linux中有些模块,你看明白它怎么初始化的你基本上就能明白它是怎么工作了,比如usb-storage,以及usb hub driver,但有些模块就没有这么简单了,就比如uhci/ehci,就比如kdb.初始化完了之后故事才刚刚拉开帷幕,如果拿近期百家讲坛热播的纪连海老师讲的李连英的故事对比,那么现在也就相当于李连英公公刚刚进宫,刚刚开始他那伟大的太监生涯.像usb-storage那样的模块

2008-02-28 20:26:00 6092

Linux那些事儿之我是USB Core(v1.0)

2.6.22内核的usb core源码分析。原文为blog.csdn.net/fudan_abc上的《linux那些事儿之戏说USB》。

2007-11-05

Linux那些事儿之我是Hub

2.6.22.1内核的usb hub driver分析.Beta版.

2007-09-29

Linux那些事儿之我是U盘

Linux 2.6 kernel usb mass storage driver<br>设备驱动源代码分析

2007-08-07

Linux那些事儿之我是U盘

Linux 2.6 内核 usb 设备驱动&lt;br&gt;电子书&lt;br&gt;pdf格式

2007-08-07

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除