- 論壇徽章:
- 0
|
網(wǎng)絡(luò)不好,傳幾個(gè)小文件都能累死。。。
附上作者的:
博客導(dǎo)讀
我是U盤 說(shuō)的是2.6.10的內(nèi)核
我是Sysfs 說(shuō)的是2.6.10的內(nèi)核
戲說(shuō)USB 說(shuō)的是2.6.22的內(nèi)核
我是Hub/UHCI/EHCI 說(shuō)的是2.6.22.1的內(nèi)核
====================================================================================
其中我是U盤屬于基礎(chǔ)性的.這一階段會(huì)遇到一些問(wèn)題.比如urb提交之后究竟怎么處理的?用戶空間究竟是如何訪問(wèn)U盤的?DMA究竟怎么回事.
這之后可以開始看Hub.這一階段你會(huì)明白一個(gè)usb設(shè)備,比如U盤,連接到hub上之后都發(fā)生了什么.
然后是usb core(也就是戲說(shuō)USB),這一階段是個(gè)承上啟下的角色,承的是U盤/HUB,啟的是UHCI/EHCI,主要描述一個(gè)usb設(shè)備連接到hub上之后,在HUB和UHCI/EHCI之間也就是usb core里發(fā)生的故事.
再然后可以開始看UHCI/EHCI.這一階段會(huì)找到上一階段的部分問(wèn)題的答案.但同時(shí)在PCI方面可能會(huì)遇到另外一些問(wèn)題.比如PCI設(shè)備究竟如何被枚舉的?
再然后是PCI總線驅(qū)動(dòng).這一階段會(huì)找到上一階段問(wèn)題的答案.
再然后是scsi disk的驅(qū)動(dòng).這一階段會(huì)找到第一階段的部分問(wèn)題的答案.即U盤是如何以一種磁盤的方式被訪問(wèn)的.
再然后是scsi core以及block層驅(qū)動(dòng).到了這一階段基本上就能回答我是U盤中所有的困惑了.(其中Block層由于過(guò)于復(fù)雜和規(guī)模龐大,主要是舉例和個(gè)別函數(shù)分析,主要是輔助另外幾個(gè)模塊進(jìn)行分析.)
以上每一階段代碼跳躍性會(huì)逐漸增強(qiáng),即開始會(huì)講的細(xì),之后會(huì)講的粗.但整體上,各個(gè)階段是相互關(guān)聯(lián)的.
====================================================================================
此外,
我是Sysfs是貫穿所有故事的,sysfs提供了諸多的接口,各個(gè)子系統(tǒng)都會(huì)用到.可以把它當(dāng)作參考書.
這個(gè)系列可以伴隨著相應(yīng)的系列一起看,對(duì)理解其它各部分都有幫助.
[ 本帖最后由 crifan 于 2009-5-31 22:55 編輯 ] |
|