Linux那些事兒之我是USB(第2版) ( 簡體 字) |
作者:任橋偉,肖季東,肖林甫 | 類別:1. -> 作業系統 -> Linux 2. -> 程式設計 -> USB |
譯者: |
出版社:電子工業出版社 | 3dWoo書號: 32222 詢問書籍請說出此書號!【缺書】 【不接受訂購】 |
出版日:2/1/2012 |
頁數:448 |
光碟數:0 |
|
站長推薦: |
印刷:黑白印刷 | 語系: ( 簡體 版 ) |
|
【不接受訂購】 |
ISBN:9787121158179 |
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 序 |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證) |
作者序: |
譯者序: |
前言: 從寫Linux那些事兒系列內容開始,到如今已有四年多了,而從整理出版第1版到現在也已經一載有余了。期間不斷有認識或不認識的朋友問我,怎么會想起寫這么多如此可愛的文字,我的回答都是:娛樂自己,娛樂大家而已! 或許,大家早已經默認技術本是一個沉重或者枯燥的話題,我們無法用一種娛樂的心態去看待它,甚至說很多人早已喪失了從中獲取樂趣的能力。但是,一切本不該如此的,對于不管什么原因踏入這個行業的我們,愿意或不愿意,技術都已經是我們生命不可分割的一部分。 既如此,又何不放輕松些,把它當成朋友,用我們自己的方式去與它交流,而不是僅僅把它當成一堆堆死氣沉沉的代碼,亦或一些枯燥的名詞。而針對這本書的內容,我要說的就是:把內核當朋友。笑來老師有本書,叫《把時間當做朋友》,告訴我們只有把時間當做朋友,才能更好地利用自己的時間做些有益的事情。眼睛一閉一睜,一天就過去了;眼睛一閉不睜,一輩子就過去了。只有善待時間,時間才能善待我們。同樣,我們只有把內核當朋友,當成一個有生命的實體,把它放在對等的地位上,我們才能夠更好地認識和理解到它的精髓。 具體到這本書,您可以把它當成一本內核源碼分析的書,甚至僅僅當成內核USB實現源碼分析的書,但是我更希望您把它當成展現如何學習Linux內核,展現如何與內核進行平等交流的一個范例,起碼它體現了我們應該用什么樣的態度去對待Linux內核源碼。也就是說,分析內核源碼,態度決定一切。我們很多人或許有這樣的困惑,也分析瀏覽了很多內核的源碼,可總是覺得分析、瀏覽后,腦子里還是空空的,并沒有感覺到多大的收獲。這個時候我們或許可以去看看是不是自己在分析代碼時的態度出現了問題。我們在分析內核源碼時,只有遵循嚴謹的態度,而不是抱著走馬觀花、得過且過的態度,最終才會有很大的收獲。 然后還有一句曾小范圍流傳的話:技術水平的高低不是決定于C,或者C++等用得有多么熟練,而是決定于你掌握的資源有多少。所以,我們還要以內核源碼為中心,堅持學習資源建設。在我們學習內核的過程中,內核源碼本身就是最好的參考資料,其他任何經典或非經典的書最多只是起輔助作用,不能也不應該取代內核代碼在我們學習過程中的主導地位。但是這些輔助的作用也是不可忽視的,我們需要以內核源碼為中心,堅持各種學習資源的長期建設不動搖。 再次感謝孫學瑛編輯,沒有她的努力,這本書的內容將會一直偏居網絡一隅,將不可能被出版,從而去幫助更多需要的人。 |
內容簡介:本書基于2.6.22內核,對USB子系統的大部分源代碼逐行進行分析,系統地闡釋了Linux內核中USB子系統是如何運轉的,子系統內部的各個模塊之間是如何互相協作、配合的。本次改版修改了第1版中出現的錯誤,增加了一個附錄,主要內容是關于Linux內核的學習方法,是作者的經驗總結,值得一讀。 本書使用幽默詼諧的筆調對Linux內核中的USB子系統源代碼進行了分析,形象且詳盡地介紹了USB在Linux中的實現。本書從U盤、Hub、USB Core到主機控制器覆蓋了USB實現的方方面面,被一些網友譽為USB開發的“圣經”。 |
目錄:第1篇 Linux那些事兒之我是USB Core 1.引子 2 2.它從哪里來 2 3.PK 2 4.漫漫辛酸路 3 5.我型我秀 3 6.我是一棵樹 4 7.我是誰 7 8.好戲開始了 9 9.不一樣的Core 11 10.從這里開始 14 11.面紗 17 12.模型,又見模型 19 13.繁華落盡 23 14.接口是設備的接口 24 15.設置是接口的設置 28 16.端點 30 17.設備 32 18.配置 38 19.向左走,向右走 41 20.設備的生命線(一) 45 21.設備的生命線(二) 48 22.設備的生命線(三) 52 23.設備的生命線(四) 57 24.設備的生命線(五) 63 25.設備的生命線(六) 69 26.設備的生命線(七) 75 27.設備的生命線(八) 81 28.設備的生命線(九) 86 29.設備的生命線(十) 89 30.設備的生命線(十一) 94 31.驅動的生命線(一) 105 32.驅動的生命線(二) 110 33.驅動的生命線(三) 113 34.驅動的生命線(四) 117 35.字符串描述符 119 36.接口的驅動 127 37.還是那個match 129 38.結束語 134 第2篇 Linux那些事兒之我是HUB 1.引子 136 2.跟我走吧,現在就出發 136 3.特別的愛給特別的Root Hub 137 4.一樣的精靈,不一樣的API 138 5.那些隊列,那些隊列操作函數 142 6.等待,只因曾經承諾 146 7.最熟悉的陌生人——probe 148 8.蝴蝶效應 151 9.While You Were Sleeping(一) 154 10.While You Were Sleeping(二) 159 11.While You Were Sleeping(三) 160 12.While You Were Sleeping(四) 165 13.再向虎山行 168 14.樹,是什么樣的樹 172 15.沒完沒了的判斷 174 16.一個都不能少 179 17.蓋茨家對Linux代碼的影響 187 18.八大重量級函數閃亮登場(一) 191 19.八大重量級函數閃亮登場(二) 193 20.八大重量級函數閃亮登場(三) 195 21.八大重量級函數閃亮登場(四) 205 22.八大重量級函數閃亮登場(五) 209 23.是月亮惹的禍還是spec的錯 216 24.所謂的熱插拔 218 25.不說代碼說理論 221 26.看代碼的理由 225 27.電源管理的四大消息 229 28.將suspend分析到底 232 29.夢醒時分 241 30.掛起自動化 254 第3篇 Linux那些事兒之我是U盤 1.小城故事 264 2.Makefile 264 3.變態的模塊機制 266 4.想到達明天現在就要啟程 268 5.外面的世界很精彩 269 6.未曾開始卻似結束 270 7.狂歡是一群人的孤單 271 8.總線、設備和驅動(上) 272 9.總線、設備和驅動(下) 273 10.我是誰的他 274 11.從協議中來,到協議中去(上) 275 12.從協議中來,到協議中去(中) 277 13.從協議中來,到協議中去(下) 279 14.夢開始的地方 280 15.設備花名冊 284 16.冰凍三尺非一日之寒 285 17.冬天來了,春天還會遠嗎?(一) 288 18.冬天來了,春天還會遠嗎?(二) 294 19.冬天來了,春天還會遠嗎?(三) 297 20.冬天來了,春天還會遠嗎?(四) 298 21.冬天來了,春天還會遠嗎?(五) 301 22.通往春天的管道 306 23.傳說中的URB 310
24.彼岸花的傳說(一) 312 25.彼岸花的傳說(二) 313 26.彼岸花的傳說(三) 316 27.彼岸花的傳說(四) 319 28.彼岸花的傳說(五) 321 29.彼岸花的傳說(六) 325 30.彼岸花的傳說(七) 327 31.彼岸花的傳說(八) 330 32.彼岸花的傳說(The End) 333 33.SCSI命令之我型我秀 334 34.迷霧重重的批量傳輸(一) 337 35.迷霧重重的批量傳輸(二) 341 36.迷霧重重的批量傳輸(三) 344 37.迷霧重重的批量傳輸(四) 348 38.迷霧重重的批量傳輸(五) 353 39.迷霧重重的批量傳輸(六) 356 40.迷霧重重的批量傳輸(七) 358 41.跟著感覺走(一) 362 42.跟著感覺走(二) 365 43.有多少愛可以胡來?(一) 370 44.有多少愛可以胡來?(二) 374 45.當夢醒了天晴了 378 46.其實世上本有路,走的人多了,也便 沒了路 381 附錄A Linux那些事兒之我是sysfs A.1 sysfs初探 386 A.2 設備模型 387 A.2.1 設備底層模型 387 A.2.2 設備模型上層容器 391 A.2.3 示例一:usb子系統 394 A.2.4 示例二:usb storage驅動 398 A.3 sysfs文件系統 404 A.3.1 文件系統 405 A.3.2 sysfs 409 A.3.3 file_oprations 413 附錄B 學習內核和驅動的方法 B.1 高效學習Linux內核 420 B.2 Kernel地圖:Kconfig與Makefile 421 B.3 分析內核源碼如何入手 423 B.3.1 分析README 423 B.3.2 分析Kconfig和Makefile 425 B.3.3 態度決定一切:從初始化函數 開始 427 B.4 內核學習的心理問題 432 B.5 高效學習Linux驅動開發 433 B.6 設備模型(上) 434 B.7 設備模型(下) 438 B.7.1 內核中USB子系統的結構 438 B.7.2 USB子系統與設備模型 440 B.8 驅動開發三件寶 440 |
序: |