版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、Good is good, but better carries it.精益求精,善益求善。Linux內核修煉之道精華版Linux內核修煉之道精華版(Word完整版)在線Linux內核修煉之道講座:HYPERLINK/zt-webcasts2/linux.aspx/zt-webcasts2/linux.aspx目錄TOCo1-3hzuHYPERLINKl_Toc260957933本書的組織形式PAGEREF_Toc260957933h4HYPERLINKl_Toc260957934精華版方法論部分導讀PAGEREF_Toc260957934h5HYPERLINKl_Toc260957935Li
2、nux大史記PAGEREF_Toc260957935h5HYPERLINKl_Toc260957936內核學習的方法論PAGEREF_Toc260957936h6HYPERLINKl_Toc260957937驅動開發(fā)的方法論PAGEREF_Toc260957937h7HYPERLINKl_Toc260957938Linux內核問題門PAGEREF_Toc260957938h8HYPERLINKl_Toc260957939緬懷已逝的十八年(19911998)PAGEREF_Toc260957939h8HYPERLINKl_Toc260957940Linux誕生記PAGEREF_Toc260957
3、940h9HYPERLINKl_Toc260957941泰坦尼克的狂潮PAGEREF_Toc260957941h9HYPERLINKl_Toc260957942緬懷已逝的十八年(19992002)PAGEREF_Toc260957942h10HYPERLINKl_Toc260957943提前發(fā)生的革命PAGEREF_Toc260957943h10HYPERLINKl_Toc260957944和平、愛情和LinuxPAGEREF_Toc260957944h11HYPERLINKl_Toc260957945緬懷已逝的十八年(20032006)PAGEREF_Toc260957945h12HYPER
4、LINKl_Toc260957946Ubuntu4.10PAGEREF_Toc260957946h12HYPERLINKl_Toc260957947RichardStallman的征婚啟事PAGEREF_Toc260957947h13HYPERLINKl_Toc260957948緬懷已逝的十八年(20072009)PAGEREF_Toc260957948h14HYPERLINKl_Toc260957949來自微軟的指控PAGEREF_Toc260957949h14HYPERLINKl_Toc260957950首款Android手機PAGEREF_Toc260957950h17HYPERLINK
5、l_Toc260957951Linux信用卡PAGEREF_Toc260957951h17HYPERLINKl_Toc260957952Kernel地圖:Kconfig與MakefilePAGEREF_Toc260957952h19HYPERLINKl_Toc260957953Makefile不是MakeLovePAGEREF_Toc260957953h19HYPERLINKl_Toc260957954利用Kconfig和Makefile尋找目標代碼PAGEREF_Toc260957954h19HYPERLINKl_Toc260957955分析內核源碼如何入手?(上)PAGEREF_Toc26
6、0957955h21HYPERLINKl_Toc260957956分析READMEPAGEREF_Toc260957956h21HYPERLINKl_Toc260957957分析Kconfig和MakefilePAGEREF_Toc260957957h23HYPERLINKl_Toc260957958分析內核源碼如何入手?(下)PAGEREF_Toc260957958h26HYPERLINKl_Toc260957959態(tài)度決定一切:從初始化函數(shù)開始PAGEREF_Toc260957959h26HYPERLINKl_Toc260957960內核學習的心理問題PAGEREF_Toc26095796
7、0h31HYPERLINKl_Toc260957961內核學習的相關資源PAGEREF_Toc260957961h32HYPERLINKl_Toc260957962內核文檔PAGEREF_Toc260957962h32HYPERLINKl_Toc260957963經典書籍PAGEREF_Toc260957963h33HYPERLINKl_Toc260957964內核社區(qū)PAGEREF_Toc260957964h35HYPERLINKl_Toc260957965其他網絡資源PAGEREF_Toc260957965h35HYPERLINKl_Toc260957966模塊機制與“HelloWorld
8、!”PAGEREF_Toc260957966h35HYPERLINKl_Toc260957967設備模型(上)PAGEREF_Toc260957967h38HYPERLINKl_Toc260957968設備模型(下)PAGEREF_Toc260957968h42HYPERLINKl_Toc260957969內核中USB子系統(tǒng)的結構PAGEREF_Toc260957969h42HYPERLINKl_Toc260957970USB子系統(tǒng)與設備模型PAGEREF_Toc260957970h44HYPERLINKl_Toc260957971驅動開發(fā)三件寶:spec、datasheet與內核源碼PAGE
9、REF_Toc260957971h45HYPERLINKl_Toc260957972Linux內核問題門學習問題、經驗集錦PAGEREF_Toc260957972h46HYPERLINKl_Toc260957973Linux內核學習常見問題PAGEREF_Toc260957973h46HYPERLINKl_Toc260957974Linux內核學習經驗PAGEREF_Toc260957974h48HYPERLINKl_Toc260957975Linux內核修煉之道精華分享與討論(14)內核中的鏈表PAGEREF_Toc260957975h49HYPERLINKl_Toc260957976Lin
10、ux內核修煉之道精華分享與討論(15)子系統(tǒng)的初始化:內核選項解析PAGEREF_Toc260957976h53HYPERLINKl_Toc260957977Linux內核修煉之道精華分享與討論(16)子系統(tǒng)的初始化:那些入口函數(shù)PAGEREF_Toc260957977h57HYPERLINKl_Toc260957978Linux內核修煉之道精華分享與討論(17)子系統(tǒng)的初始化:以PCI子系統(tǒng)為例PAGEREF_Toc260957978h61HYPERLINKl_Toc260957979Linux內核修煉之道精華分享與討論(18)選擇發(fā)行版PAGEREF_Toc260957979h64HYPE
11、RLINKl_Toc260957980Linux內核修煉之道精華分享與討論(19)不穩(wěn)定的內核APIPAGEREF_Toc260957980h65HYPERLINKl_Toc260957981Linux內核修煉之道精華分享與討論(20)學會使用GitPAGEREF_Toc260957981h66HYPERLINKl_Toc260957982Linux內核修煉之道精華分享與討論(21)二分法與printk()PAGEREF_Toc260957982h69HYPERLINKl_Toc260957983二分查找法的基本原理PAGEREF_Toc260957983h69HYPERLINKl_Toc26
12、0957984printk()PAGEREF_Toc260957984h70前言至此落筆之際,恰至Linux問世18周年,18年的成長,如夢似幻,風雨頗多,感慨頗多。猶自憶起多年以前一位前輩訓導時的箴言:今天的必然正是由之前一系列的偶然所決定的。過去的某年某月,我偶然初識Linux就身陷其中,至今仍找不到出去的路,而正是這次乃至之后的多次偶然相聯(lián)合,從而決定了今日的我要在此寫下這些話。那么,當您偶然地拿起這本書,偶然地看到這段話,您是否會問自己:這樣的偶然又會導致什么樣的必然?如果您依然決定繼續(xù)這次的偶然之旅,那么首先請認識兩個人,準確的說是一個人和一只企鵝。這個人自然就是LinusTorva
13、lds,我們也可是稱他為Linus或李納斯,正是這位來自芬蘭的天才,在1991年1月2日,攥著在圣誕節(jié)和生日得到的錢,偶然地做出了一個重大的財政決定,分期三年買一臺價格3500美元得相貌平平得計算機,從而Linux開始了。企鵝則是Linux的標志,很多人可能不知道Linus,但是卻可能知道這只企鵝,這是一個奇怪的現(xiàn)象,就像很多人知道微軟,卻不知道比爾蓋茨。不管怎么說,是Linus塑造了這只企鵝,并讓它有一副爽透了的樣子,就像剛剛吞下一扎啤酒。除此之外,這只企鵝還要很特別,其他的企鵝都是黑嘴巴黑腳蹼,但它卻是黃嘴巴黃腳蹼,這使它看上去好像是鴨子與企鵝的雜交品種,也許它是唐老鴨在南極之旅中與一只當
14、地企鵝一夜傾情的結晶。其次,在您繼續(xù)之前,我還想請您問自己一個問題:我在強迫自己學習內核么?我很希望您能回答不是,但希望與現(xiàn)實往往都有段不小的距離,因為很多時候,我都發(fā)現(xiàn)身邊的人是因為覺得內核很高深而強迫自己喜歡的。強迫自己去喜歡一個人是多么痛苦的事情?;蛟S,針對這個問題,最讓人愉悅的回答是“說實話,我學習的熱情從來都沒有低落過。”正如Linus在自己的自傳JustforFun中希望的那樣。本書的組織形式本書將Linux內核的學習分為四個層次:全面了解,掌握基本功;興趣導向,選擇重點深度鉆研;融入社區(qū),參與開發(fā)做貢獻;堅持,堅持,再堅持??偨Y起來,就是“全面了解抓基本,興趣導向深鉆研;融入社區(qū)
15、做貢獻,堅持堅持再堅持?!保ㄈ绻且粋€修真小說愛好者,盡可以將其與煉氣、筑基、結丹和元嬰等層次相對應。)第一層次修煉的內容包括了前三章,目的是希望您能夠對Linux以及內核有個全面的認識和了解,掌握分析Linux內核源代碼的分析方法。第1章主要介紹了Linux的18年成長史,或許您會樂意陪我一起緬懷下這過去的十八年。第2章介紹內核的配置和編譯過程,和任何大型軟件源碼的學習一樣,學會編譯和配置是第一步。第3章介紹學習內核需要的基礎,內核的體系結構、目錄結構、代碼特點,瀏覽內核代碼的工具,最后,突出強調了內核源碼分析過程中極為重要的兩個角色Kconfig和Makefile,并以USB子系統(tǒng)為例,
16、演示了如何利用這兩個角色進行代碼分析。第二層次的修煉包括了第411章的內容,對內核多數(shù)部分的工作原理進行介紹。按照認識的發(fā)展規(guī)律,在第一層次修煉中已經對內核有個全局的認識和了解之后,接下來就應該以興趣為導向,尋找一個子系統(tǒng)或模塊,對其代碼深入鉆研和分析,不懂的地方就通過社區(qū)、郵件列表或者直接發(fā)Email給maintainer請教等途徑弄懂,切勿得過且過,這樣分析下來,對同步、中斷等等內核的很多機制也同樣會非常了解,俗話說一通則百通就是這個道理。因此第二層次的各個章節(jié)里,只是闡釋重點的概念和工作原理,幫助您在分析該部分代碼時進行理解,并不求詳盡。第4章討論系統(tǒng)的初始化,萬事開頭難,系統(tǒng)的初始化是
17、一個很復雜的過程,不過對于內核源碼的學習來說,以這個部分開始應該是個不錯的選擇。特別是子系統(tǒng)初始化的討論,應該是您選擇任何內核子系統(tǒng)開始分析時都需要了解的內容。第5章討論系統(tǒng)調用,它是應用程序和內核間的橋梁,學習并理解它是我們走向內核的一個很好的過渡。第6章討論內核的中斷處理機制,包括幾乎任何一本內核書籍都沒有涉及的通用IRQ層。第7章討論進程的內核抽象,以及進程如何被創(chuàng)建和銷毀。如果我們將計算機上運行的操作系統(tǒng)以及各種各樣的軟件看作一系列有機的生命體,而不是死的指令集合,那么這就是一個進程的世界,只不過與我們人類世界不同的是,進程世界里的個體是一個一個鮮活的進程,而不是人。人的世界有道德與法
18、律去制約管理,進程的世界同樣也有自己的管理機制,這就是第7章所要展示的內容進程管理。第8章討論進程的調度,重點討論了在內核歷史上具有重要地位的O(1)調度器和最新的CFS調度起。第9章討論內存管理,內存就是進程的家,這里討論內核如何為每個進程都分配一個家,并盡量的去做到“居者有其屋”,以及保證每個家的安全。第10章討論文件系統(tǒng),主要是虛擬文件系統(tǒng)(VFS),它通過在各種具體的文件系統(tǒng)之上建立一個抽象層,屏蔽了不同文件系統(tǒng)間的差異。第11章討論設備驅動,對于驅動開發(fā)來說,設備模型的理解是根本,spec、datasheet與內核源代碼的利用是關鍵。通過第二層次的修煉,您應該對至少一到兩個部分有了很
19、深入的理解,對內核代碼采用的通用手法也已經很拈熟,那么您應該開始進入第三層次,努力融入到內核的開發(fā)社區(qū),此時的您已經不會再是社區(qū)中潛水小白的角色,而是會針對某個問題發(fā)表自己的見解。您已經可以嘗試參與到內核的開發(fā)中去,即使僅僅修改了內核中的一個錯誤單詞,翻譯了一份大家需要的文檔,也是做出了自己的貢獻,會得到大家的認可。本書中第三層次只包括了兩章的內容,這是因為內核的修煉之道越往后便越依賴于自己,任何參考書都替代不了自己不斷的反思與總結。第12章討論參與內核開發(fā)需要了解的一些基礎信息。第13章討論了內核的調試技術,與第12章一樣,您可以僅僅將這些內容看成內核修煉中的一些tips。至于最后的第四層次
20、,更是僅有兩個字堅持。能夠在內核的修煉之道上走多遠,都取決于我們能夠堅持多久,或許一個用一個公式概括更為合適:心態(tài)+興趣+激情+時間+XY。革命尚未成功,我等仍需努力。與君共勉之。精華版方法論部分導讀到目前為之,博客上分享的精華篇都可以歸為方法論的范疇,在很多時候,都是方法論要比細節(jié)緊要得多。而這些精華篇又可細分為三個專題:Linux大史記;內核學習的方法論;驅動開發(fā)的方法論。Linux大史記除去那些精彩的“門”,我們生活中乏味的事情太多了,所以不希望再去按慣例花個一二頁的篇幅乏味的寫個“Linux簡介”,就將幾天中出去溜彎的時間貢獻了出來,逐年逐月的搜集整理了一些Linux成長過程中所發(fā)生的
21、重要的事情,抑或一些非常有趣兒的事情。開始時本以為這是一件很輕易的事,起碼應該比統(tǒng)計公布房價上漲多少的事情輕易的多,利用google,完成這么一件事情又有何難?但是意外的是,貌似很難找到類似的歸納整理,或許能夠看到某個時間段內的所謂的top10之類的字眼,但里面的羅列似乎大都滿足不了有趣兒的要求。所以里面有些月份是個空白,不管如何,大家可以了解了解,看看是否有很多自己不知道的有趣聞軼事?HYPERLINK/fudan_abc/archive/2010/02/25/5327450.aspx緬懷已逝的十八年(19911998)HYPERLINK/fudan_abc/archive/2010/02/
22、26/5330343.aspx緬懷已逝的十八年(19992002)HYPERLINK/fudan_abc/archive/2010/02/27/5331308.aspx緬懷已逝的十八年(20032006)HYPERLINK/fudan_abc/archive/2010/02/28/5334443.aspx緬懷已逝的十八年(20072009)內核學習的方法論透過現(xiàn)象看本質,獸獸門無非就是一些人體藝術展示。同樣往本質里看過去,學習內核,就是學習內核的源代碼,任何內核有關的書籍都是基于內核,而又不高于內核的。所以這個專題的前三個精華篇就是專注于介紹如何入手分析內核源代碼的,這里前無來者的突出強調了“
23、Kernel地圖”的概念,雖然Goggle帶著Goggle地圖遠去了,可Kernel地圖仍然在繼續(xù)。HYPERLINK/fudan_abc/archive/2010/03/02/5340408.aspxKernel地圖:Kconfig與Makefile毫不夸張地說,Kconfig和Makefile是我們?yōu)g覽內核代碼時最為依仗的兩個文件?;旧?,Linux內核中每一個目錄下邊都會有一個Kconfig文件和一個Makefile文件。對于一個希望能夠在Linux內核的汪洋代碼里看到一絲曙光的人來說,將它們放在怎么重要的地位都不過分。我們去香港,通過海關的時候,總會有免費的地圖和各種指南拿,有了它們在
24、手里我們才不至于無頭蒼蠅般迷惘的行走在陌生的街道上。即使在內地出去旅游的時候一般來說也總是會首先找份地圖,當然了,這時就是要去買了,拿是拿不到的,不同的地方有不同的特色,只不過有的特色是服務,有的特色是索取。Kconfig和Makefile就是LinuxKernel迷宮里的地圖。地圖引導我們去認識一個城市,而Kconfig和Makefile則可以讓我們了解一個Kernel目錄下面的結構。我們每次瀏覽kernel尋找屬于自己的那一段代碼時,都應該首先看看目錄下的這兩個文件。HYPERLINK/fudan_abc/archive/2010/03/05/5347687.aspx分析內核源碼如何入手?
25、(上)既然要學習內核源碼,就要經常對內核代碼進行分析,而內核代碼千千萬,還前仆后繼的不斷往里加,這就讓大部分人都有種霧里看花花不見的無助感。不過不要怕,孔老夫子早就留給我們了應對之策:敏于事而慎于言,就有道而正焉,可謂好學也已。這就是說,做事要踏實才是好學生好同志,要遵循嚴謹?shù)膽B(tài)度,去理解每一段代碼的實現(xiàn),多問多想多記。如果抱著走馬觀花,得過且過的態(tài)度,結果極有可能就是一邊看一邊丟,沒有多大的收獲。HYPERLINK/fudan_abc/archive/2010/03/08/5355062.aspx分析內核源碼如何入手?(下)下面的分析,米盧教練說了,內容不重要,重要的是態(tài)度。就像韓局長對待日
26、記的態(tài)度那樣,嚴謹而細致。只要你使用這樣的態(tài)度開始分析內核,那么無論你選擇內核的哪個部分作為切入點,比如USB,比如進程管理,在花費相對不算很多的時間之后,你就會發(fā)現(xiàn)你對內核的理解會上升到另外一個高度,一個抱著情景分析,抱著0.1內核完全注釋,抱著各種各樣的內核書籍翻來覆去的看很多遍又忘很多遍都無法達到的高度。請相信我!讓我們在Linux社區(qū)里發(fā)出號召:學習內核源碼,從學習韓局長開始!對于學習來說,無論是在學校的課堂學習,還是這里說的內核學習,效果好或者壞,最主要取決于兩個方面方法論和心理。注意,我無視了智商的差異,這玩意兒玄之又玄,岔開了說,屬于迷信的范疇。因此繼介紹分析內核源碼方法的三個精
27、華篇之后,又針對內核學習過程中最為常見的兩個心理誤區(qū)做了闡述。HYPERLINK/fudan_abc/archive/2010/03/10/5363524.aspx內核學習的心理問題而心理上的問題主要有兩個,一個是盲目,就是在能夠熟練適用Linux之前,對Linux為何物還說不出個道道來,就迫不及待的盲目的去研究內核的源代碼。這一部分人會覺得既然是學習內核,那么耗費時間在熟悉Linux的基本操作上純粹是浪費寶貴的時間和感情。不過這樣雖然很有韓峰同志的熱情和干勁兒,但明顯走入了一種心理誤區(qū)。重述Linus的那句話:要先會使用它。第二個就是恐懼。人類進化這么多年,面對復雜的物體和事情還是總會有天生
28、的懼怕感,體現(xiàn)在內核學習上面就是:那么龐大復雜的內核代碼,讓人面對起來該情何以堪啊!即使有好的方法和堅強的心理,我們在內核學習過程中仍需要利用很多好的資源。其實,韓峰同志已經在日記里告訴了我們資源的重要性,因此我們在學習韓峰同志嚴謹細致的態(tài)度同時,還要領悟他對資源的靈活運用。只有在以內核源碼為中心,堅持各種學習資源的長期建設不動搖,才能達到韓局長那樣的高度,俯視Linux內核世界里的人生百態(tài)。HYPERLINK/fudan_abc/archive/2010/03/11/5372178.aspx內核學習的相關資源待到山花爛漫時,還是那些經典在微笑。驅動開發(fā)的方法論因為至少在國內大部分內核相關的開
29、發(fā)都是驅動的開發(fā),所以在內核學習的方法論之后,專門用一個專題,從模塊機制、設備模型、驅動三件寶三個層次介紹了驅動開發(fā)的方法論。HYPERLINK/fudan_abc/archive/2010/03/15/5380511.aspx模塊機制與“HelloWorld!”有一種感動,叫淚流滿面,有一種機制,叫模塊機制。顯然,這種模塊機制給那些Linux的發(fā)燒友們帶來了方便,因為模塊機制意味著人們可以把龐大的Linux內核劃分為許許多多個小的模塊。對于編寫設備驅動程序的開發(fā)者來說,從此以后他們可以編寫設備驅動程序卻不需要把她編譯進內核,不用reboot機器,她只是一個模塊,當你需要她的時候,你可以把她抱
30、入懷中(insmod),當你不再需要她的時候,你可以把她一腳踢開(rmmod)。HYPERLINK/fudan_abc/archive/2010/03/24/5410486.aspx設備模型(上)HYPERLINK/fudan_abc/archive/2010/03/25/5417879.aspx設備模型(下)對于驅動開發(fā)來說,設備模型的理解是根本,毫不夸張得說,理解了設備模型,再去看那些五花八門的驅動程序,你會發(fā)現(xiàn)自己站在了另一個高度,從而有了一種俯視的感覺,就像鳳姐俯視知音和故事會,韓峰同志俯視女下屬。顧名而思義就知道設備模型是關于設備的模型,既不是任小強們的房模,也不是張導的炮模。對咱們
31、寫驅動的和不寫驅動的人來說,設備的概念就是總線和與其相連的各種設備了。電腦城的IT工作者都會知道設備是通過總線連到計算機上的,而且還需要對應的驅動才能用,可是總線是如何發(fā)現(xiàn)設備的,設備又是如何和驅動對應起來的,它們經過怎樣的艱辛才找到命里注定的那個他,它們的關系如何,白頭偕老型的還是朝三暮四型的,這些問題就不是他們關心的了,而是咱們需要關心的。在房市股市千錘百煉的咱們還能夠驚喜的發(fā)現(xiàn),這些疑問的中心思想中心詞匯就是總線、設備和驅動,沒錯,它們就是咱們這里要聊的Linux設備模型的名角。驅動開發(fā)三件寶:spec、datasheet與內核源碼設備模型之外,對于驅動程序的開發(fā)者來說,有三樣東西是不可
32、缺少的:第一是協(xié)議或標準的spec,也就是規(guī)范,比如usb協(xié)議規(guī)范;第二是硬件的datasheet,即你的驅動要支持的硬件的手冊;第三就是內核里類似驅動的源代碼,比如你要寫觸摸屏驅動的話,就可以參考內核里已經有的一些觸摸屏驅動。Linux內核問題門繼前面三個專題之后,為了感謝精華篇發(fā)布過程中很多朋友的關心與支持,便以“問題門”為題為拙作Linux內核修煉之道制作了一個小插曲,希望通過對大家內核學習過程中遇到的問題與經驗心得做一番展示,來幫助還在門外的朋友尋找到這扇門的鑰匙。HYPERLINK/fudan_abc/archive/2010/03/22/5403021.aspxLinux內核問題門
33、學習問題、經驗集錦(持續(xù)更新中)陳憲章說:“學貴有疑,小疑則小進,大疑則大進。疑者,覺悟之機也,一番覺悟一番長進?!迸喔f:“多問的人將多得?!边€在學校的時候導師在激情講演之后對著會議室里形態(tài)各異但均靜默不語的我們痛心疾首的說:“會提問題很重要啊,同志們!不會提問題怎么有資格做研究!”這樣鏗鏘有力的訓誡今日想起仍覺深受刺激,于是就要不可避免得要做出一些反應來。不過一是因為咱這年代還沒有非主流的說法,二是因為也沒有馮仰妍同學的性別優(yōu)勢,不可能受到刺激就整出個門來。咱能夠做到的最大反應也就是在這里開貼專門探討探討內核學習的相關問題,為了稍微增加那么一些廣告效應,就稱為“問題門”吧。使用“問題門”的
34、稱呼,一是內心里潛藏的那點低級趣味想去沾點近些年層出不窮各種各樣的“門”的仙氣,二是在內核的學習過程中的確實實在在的存在著這樣的一個“門”,橫亙在我們的面前,跨過去便海闊天空是另一番世界,但卻是讓無數(shù)人競折腰,百思不得其鑰匙。緬懷已逝的十八年(19911998)至此落筆之際,恰至Linux問世18周年,18年的成長,風雨頗多,感慨頗多,謹以這些許年來的點滴之事為Linux的成人禮添彩。如果你尚未與Linux親密接觸過,那么希望這里的內容可以成為你初識Linux的見證。如果你已經是個Linux達人,那么就選個安靜的早晨,抑或下午,陪我一起緬懷下這過去的十八年吧。Linux誕生記1987年MINI
35、X誕生,而我也已端坐于學堂之中,隱去一身的稚氣,能夠搖頭晃腦的吟誦幾句詩賦了。若真是冥冥中自有定數(shù)的話,或許這時就暗定了4年后Linux的誕生。1991年LinusTorvalds,一個芬蘭的大學生,對于他不能按照意愿訪問大學UNIX服務器而感到很憤怒,于是開始為一個以后被稱為“Linux”的內核而工作,并于這一年的10月5日發(fā)布了Linux0.01。1992年4月,第一個Linux新聞組“comp.os.linux”建立。10月,第一個可以安裝的Linux版本SLS發(fā)布。同年,我拿到了平生的第一個畢業(yè)證。1993年8月,第一本關于Linux的著作LinuxInstallationandGet
36、tingStartedVersion1出版。而這一年,我最敬佩的語文老師患病離去了,從此,我知道了生活中不僅僅只有歡聚,還有傷別。1994年Linux1.0發(fā)布,并采用GPL(GNUGeneralPublicLicense,通用公共許可證)協(xié)議。大家要LinusTorvalds想一只吉祥物,Linus突然想到小時候去動物園被一只企鵝追著滿地打滾,還被咬了一口!既然想不到其它的吉祥物了,干脆就以這支企鵝來當吉祥物算了!泰坦尼克的狂潮1995年4月,召開首屆Linux博覽會,一個以Linux為特征的商業(yè)展覽博覽會。幾個月后,我迎來了第二個中學階段。1996年Linux2.0發(fā)布,它第一個支持了SM
37、P(對稱多處理器)架構。此時Linux的全球用戶已經達到了350萬左右。1997年首例Linux病毒“Bliss”被發(fā)現(xiàn)。電影泰坦尼克號所用的160臺Alpha圖形工作站中,有105臺采用了Linux。1998年1月,第一份Linux新聞周刊出版,同時,Netscape宣布他們將在自由軟件許可協(xié)議下發(fā)布瀏覽器的源代碼,這為Linux和自由軟件的發(fā)展提供了廣闊空間。2月,EricRaymond和他的朋友門提出了“opensource”的概念,申請了該商標特權并且組建了網站,從而開始推動Linux的商業(yè)化發(fā)展。4月,Linux廣泛被美國國家公共新聞廣播報道,標志Linux在主流、非技術性的媒體界首
38、次出現(xiàn)。5月,Google搜索引擎開始流行,不僅僅是因為它是最好的搜索引擎,而且還因為它是基于Linux和具有Linux特色的搜索網頁。6月,“從來沒有一個用戶向我提起Linux,Linux就像眾多的免費產品一樣,雖然它是很小的,卻得到了一群忠誠的擁護者。”比爾蓋茨在6月25日的PC周刊上說。7月,KDE和GNOME的桌面之爭在其擁護者之間愈演愈烈,Linus以實際行動中表明KDE非常好用,在這種情況下,KDE1.0誕生了。Oracle、Informix、Sybase都宣布將積極支持Linux。Linux開始成為一個家喻戶曉的詞。9月,DaveWhitinge和DwightJohnson創(chuàng)建了
39、LinuxT,該網站后來被I收購,不過它一直是訪問量最高和最容易閱讀的Linux入門網站。12月,一篇來自IDC的報導說Linux的發(fā)行量在1998年漲了200%以上,它的市場占有率也增加了150%以上。Linux擁有17%的市場占有率并且增長率超過了市場上其它任何一個系統(tǒng)。同年,我迎來了人生中一個非常重要的時刻:我上大學了!緬懷已逝的十八年(19992002)提前發(fā)生的革命1999年1月,“Linux2.2已經發(fā)布,我終于可以松口氣了”創(chuàng)造者LinusTorvalds說。3月,首屆LinuxWorld討論會和博覽會在加洲的圣何塞舉行,作為Linux第一個大的商業(yè)化的貿易展示活動,它無疑向世界
40、昭示了Linux的到來。8月,SG宣布了與RedHat的合作關系,并且開始大規(guī)模的為內核的發(fā)展做貢獻。RedHat進行了首次公開募股,股價馬上漲到了50美元,在那個時候這個價似乎很高。摩托羅拉公司與Lineo建立了合作關系,進入Linux領域并提供嵌入式系統(tǒng)產品,支持和培訓服務。Sun宣布了在Sun公共源許可(SunCommunitySourceLicense)下發(fā)行StarOffice和開發(fā)一個網絡版本的辦公套件。9月,RedHat的股票達到了135美元,這個價格在那個時候似乎是難以置信的高。10月,Sun宣布它將在Sun公共源許可下公布Solaris的源代碼。12月,VALinuxSyst
41、ems的首次公開募股價格是30美元/股,這個價格很快漲到了300美元,它在NASDAQ歷史上創(chuàng)造了最高的首次公開募股價格。這一年,網絡進入了宿舍,QQ、mud等也進入了我們的生活。2000年1月,VALinuxSystems宣布創(chuàng)建我們非常熟悉的SourceForge,到這年底,SourceForge已經接到了超過12000個項目,擁有92000個注冊的開發(fā)者。2月,最近的IDC報告顯示Linux現(xiàn)在成為“服務器電腦上第二個最受歡迎的操作系統(tǒng)”,在1999年占了25%的服務器操作系統(tǒng)銷售額,WindowsNT為38%,占第一位,NetWare為19%,排名第三,IDC以前曾預測過Linux將在
42、2002或2003年到達第2位,這場革命提前發(fā)生了。3月,嵌入式Linux協(xié)會(EmbeddedLinuxConsortium)成立。8月,HP、Intel、IBM以及NEC宣布開放源代碼發(fā)展實驗室(OSDL,OpenSourceDevelopmentLab)成立。9月,Trolltech發(fā)布了GPL下的Qt庫。11月,IBM宣布將在2001年投資10億美元在Linux。首部基于Linux的手機IMT-2000在韓國發(fā)布。這一年的某一天,和同學坐在學校四大發(fā)明廣場上觀看同一首歌演出,困意盎然,期間那個粗獷的名歌星的一句話卻驚醒了我:“希望你們交通大學為中國的交通事業(yè)做出更大的貢獻”,大意如此,
43、我頓時無語,他的語言竟然和他的外表一樣粗獷。這一年的暑假,我第一次來到江南,在西湖斷橋對面的飯館里,透過落地窗恰恰看到湖里荷花的位置,要了份西湖醋魚和一瓶啤酒,坐到下午四點鐘,然后順著蘇堤白堤靜靜的走下去,直到繞湖一周再次回到斷橋,已是晚上八點,坐在湖邊的長凳上,一夜無語。和平、愛情和Linux2001年1月,期待已久的Linux2.4發(fā)布。3月,Linux2.5內核高級會議在加州圣何塞舉行,它或許是歷史上Linux內核hacker最完整的一次聚會。4月,IBM在幾個城市鼓吹“和平、愛情和Linux”(Peace,LoveandLinux)時遇到了麻煩。6月,Sharp宣布基于Lineo嵌入式
44、系統(tǒng)的LinuxPDA即將上市。這一年底,找工作的季節(jié),我深刻認識了IT泡沫和9.11,找所謂的好工作無門和出國無門,我無奈選擇考研。2002年LinusTorvalds將Linux2.4交由巴西18歲的內核開發(fā)人員MarceloTosatti維護,自己則帶領Linux2.5的開發(fā)工作。這一年,我從一個交大到了另一個交大,這個轉變似乎很平淡,并不深刻。緬懷已逝的十八年(20032006)Ubuntu4.102003年1月,NEC宣布將在其手機中使用Linux,代表著Linux成功進軍手機領域。6月,IDC分析師稱,2003年Linux服務器在西歐的銷售量將達到18.2萬臺,到2007年,銷售量
45、將增至這個數(shù)字的三倍,銷售收入將翻一番,達到19億美元。8月,韓國國家航空公司和IBM聯(lián)合發(fā)布聲明,表示韓國航空公司將把該公司的核心業(yè)務移植到IBM的eServer服務器當中完成,其中操作系統(tǒng)則采用Linux。9月,三星在推出了首款基于Linux系統(tǒng)平臺的CDMA智能手機SCH-i519。11月,Linux2.6發(fā)布,它被認為是第一款真正意義上的企業(yè)級內核,這是Linux內核從2001年以來第一次的大改動。這一年,我第一次在電視直播里看著自己喜歡的米蘭奪得了冠軍杯。2004年1月,X.Org基金會成立。2月,Linux標準2.0出臺,規(guī)范了所有能被稱為Linux操作系統(tǒng)所應該有的特性。5月,基
46、于Linux的路由系統(tǒng)出現(xiàn)。10月20日,Ubuntu首個版本發(fā)布,在五年后的今天Ubuntu已經是Linux桌面發(fā)行版的一個成功典范。11月,F(xiàn)irefox1.0發(fā)布,它成為大眾關注的焦點,IE降低了1個點的市場份額像這種事已經多年沒有發(fā)生過了。Firefox已經成為了微軟IE的強有力的對手。又到了找工作的季節(jié),宣講會、筆試、面試,我就要離開學校了么?2005年10月,F(xiàn)irefox的下載量突破了1億大關,這表明,只要產品好,開放源代碼軟件也能夠獲得普通用戶的青睞。11月,Sun開放了除Java之外的幾乎所有軟件,這使得它在一夜間成為了最大的開放源碼軟件廠商之一。12月,RedHat公布了第
47、三季度業(yè)報,銷售收入增長了43.6%,利潤增長了114%。這一年夏天,遭遇了到目前為止最為嚴重的一次失竊,除了IQ卡,所有的卡都隨著錢夾子消失了,到工行補辦牡丹卡時,那慵懶的上海女人說,必須要上海土生土長的本地人來擔保,僅僅擁有上海戶口的人是不行的。RichardStallman的征婚啟事2006年6月,自由軟件之父RichardStallman在自己的網站HYPERLINK/上發(fā)布了一則“征婚啟事”。Imasingleatheistwhiteman,52,reputedlyintelligent,withunusualinterestsinpolitics,science,musicandd
48、ance.Idliketomeetawomanwithvariedinterests,curiousabouttheworld,comfortableexpressingherlikesanddislikes(Ihatestrugglingtoguess),delightinginherabilitytofascinateamanandinbeinglovedtenderly,whovaluesjoy,truth,beautyandjusticemorethansuccess-sowecanshareboutsofintense,passionatelykindawarenessofeacho
49、ther,alternatingwithtolerantwarmthwhilewereabsorbedinotheraspectsoflife.My22-year-oldchild,theFreeSoftwareMovement,occupiesmostofmylife,leavingnoroomformorechildren,butIstillhaveroomtoloveasweetheart.Ispendalotofmytimetravelingtogivespeeches,oftentoEurope,AsiaandLatinAmerica;itwouldbeniceifyouwerefr
50、eetotravelwithmesomeofthetime.Ifyouareinterested,writetormsatstallmandotorgandwellseewhereitleads.我,單身,無神論者,白人,52歲,據(jù)說比較聰明,對于政治、科學、音樂和舞蹈有著不同尋常的興趣。我想尋找這樣一位女士:愛好廣泛,對世界充滿好奇心,能夠清晰表達她的愛憎(我痛恨動腦筋猜測),樂于使男人著迷,渴望被溫柔地愛,對于快樂、真理、美和正義的評價高于“成功”。這樣的話,我們就能不斷對另一方產生熱烈而又美好的了解,當我們被生活中其他東西吸引的時候,彼此就能感到寬容的溫暖。我有一個22歲的孩子自由軟件運
51、動他占據(jù)了我大部分的生活,沒有精力再撫養(yǎng)更多的孩子了,但是我仍然會投入的愛我的愛人。我有大量時間花在巡回演講上,經常要去歐洲、亞洲和拉丁美洲。如果你有空在某些時間陪我一起旅行,那就最好了。如果你有興趣的話,請寫信到rms,讓我們看看會有什么結果。7月,Ubuntu被授予PCWorld2006WorldClassAward,證明了Ubuntu成為2006年世界最好的100個產品之一。Ubuntu越來越顯示出他的不凡實力,雖說他是免費的,但是后臺卻是商業(yè)公司Canonical,加上太空人老板的聰明才智,逐漸的開始商業(yè)合作,比如和Sun合作,對有需要的客戶提供Linux支持服務。8月,Linux業(yè)界
52、另外一位狂人,Linuspire公司總裁KevinCarmony宣布推出免費版本的Freespire1.0,該版本中附帶有二進制的商業(yè)硬件驅動程序,在Linux社區(qū)中引起軒然大波。27日,網站HYPERLINKhttp:/linux.inet.hr/poll_filesystem.htmlt_blankhttp:/linux.inet.hr/poll_filesystem.html上推出“Yourfavoritefilesystem?”(你最喜歡的文件系統(tǒng)?)投票活動。9月,16日是“國際軟件自由日”(SFD,SoftwareFreedomDay2006)。10月,OracleUnbreaka
53、bleLinux發(fā)布,Oralce成為第一個推出自有Linux服務的非操作系統(tǒng)軟件廠商。17日,F(xiàn)SG(自由標準組,一個非贏利的致力于開發(fā)和促進自由開放軟件的標準的組織)宣布與OReillyMedia合作,共同為Linux應用程序開發(fā)人員提供類似MSDN的服務,該服務將作為LSB(LinuxStandardBase)DeveloperNetwork的一個組成部分。11月,微軟和Novell達成一攬子協(xié)議,號稱要改善Linux和微軟操作系統(tǒng)的兼容問題。如圖1.1所示,看著昔日的對手用“”連起來是否會覺得古怪?圖1.1微軟+Novell這一年,三次去青島,回來時遭遇三次嚴重的飛機晚點,讓我疑惑這個
54、世界怎么了?緬懷已逝的十八年(20072009)來自微軟的指控2007年1月,虛擬人生游戲(SecondLife)客戶端開源。兩大Linux領導社團OSDL和FreeStandardGroup宣布合并為新的LinuxFoundation(Linux基金會),此舉將促進社區(qū)的資源整合,也使Linux在企業(yè)市場能夠更加高效地參與競爭。2月,BillXu發(fā)起了一個“致招商銀行的公開信”的行動,希望用這種方式促使招商銀行改變在公眾服務中使用專屬軟件的作法,取消客戶端上的ActiveX技術,而轉用其他公開的、開放的、不限制用戶平臺的技術。據(jù)說,浦發(fā)銀行的網絡銀行能很好的支持Firefox。3月,Nove
55、ll推出模仿蘋果的“MacvsPC”廣告,它在廣告中插入了第三者:Linux一位迷人的年輕女子。Novell用此來宣傳預裝NovellLinux的PC,一共發(fā)布了三個視頻,你可以在HYPERLINK上看到它們。15日,Novell公開表示,同意從總費用上說Linux比Windows要昂貴,這使它在開源社區(qū)的名譽進一步惡化。4月,Dell推出預裝Ubuntu操作系統(tǒng)筆記本。5月,微軟聲稱Linux內核侵犯了微軟的42項專利,而用戶界面和其它設計方面也有65項侵權,OpenO也被指控侵犯45項專利,還有83項是針對其它免費開源軟件。同一個月,微軟加拿大網站推出了一個“GettheFacts”(了解
56、真相)頁面,如圖1.2所示,赤裸裸地對Linux進行了攻擊,有趣的是頁面上方放置了一張TheHighlyReliableTimes報紙截圖,標題模仿紐約時報風格?!皥蠹垺敝袑懙溃骸拔覀儾捎肔inux平臺以后每周至少遭遇一次系統(tǒng)崩潰問題。而遷移到微軟WindowsServer2003后真正消滅了系統(tǒng)崩潰問題,另外我們還能獲得廠商支持?!眻D1.2GettheFacts頁面還是5月,F(xiàn)irefox在Linux中顯示的表單控件,特別是單選框,比較丑陋問題被修正,如圖1.3所示。圖1.3Firefox表單控件修正前后比較6月,5日微軟和Linux發(fā)行商Xandros宣布,雙方達成了一個技術和法律上的合作
57、。RedHat、Ubuntu與Mandriva拒絕與微軟進行專利交易。28日,Google桌面搜索Linux版正式發(fā)布,截圖如圖1.4所示。29日,第三版GNU通用公共許可證GPLv3發(fā)布。圖1.4Google桌面搜索Linux版7月,F(xiàn)citx小企鵝輸入法開源項目終止。做為Linux平臺上最受歡迎的兩大中文輸入法之一Fcitx小企鵝輸入法,在其官方主頁上宣布項目終止開發(fā)。聲明中提到,有“編程高手”質疑其代碼風格是項目終止的導火索。8月,SCO在控告Linux侵犯專利權的官司中敗訴,從而申請破產保護。SCO面市時以Linux銷售商CalderaSystems的面目現(xiàn)身,然后從SantaCruz
58、Operation收購了Unix業(yè)務,之后重名為SCO集團。然后他們放棄了Linux業(yè)務,并開始起訴IBM、Novell及其他公司。他們認為IBM破壞了他們簽署的Unix協(xié)議,將SCO特有的Unix技術在開源的Linux社區(qū)發(fā)布出去。JimZemlin對此評論說:“如果它們把事業(yè)基礎建立在協(xié)助Linux,而不是攻擊Linux,那么它們大可享有像RedHat這些公司一樣的成功,而不是淪落到申請破產保護的下場?!?0月,AcaciaResearch通過其子公司IPInnovation向RedHat和Novell提出控告,RedHatLinux操作系統(tǒng)及Novell旗下的SUSELinuxEnter
59、priseDesktop與SUSELinuxEnterpriseServer侵犯了他所擁有的專利。隨著圍繞開源的糾紛不斷,2007年對于律師來說注定是“豐收”的一年。11月,Google推出基于Linux的開源移動平臺Android。Phoronix網站發(fā)布了ATI顯卡在Linux和Vista下的游戲性能對比測試,結果令人鼓舞,在Linux下的游戲性能首次超越了Windows!這一年,我開始在/fudan_abc上寫Linux那些事兒。首款Android手機2008年1月,Nokia宣布收購了著名開源跨平臺開發(fā)工具Qt的開發(fā)商Trolltech。2月,Google資助Linux版Photosh
60、op的研究。4月,Sun移除了Java最后的限制,將其徹底開源。7月,騰訊公司在這個月的最后一天發(fā)布了QQforLinux1.0Preview版,這是第一次官方的版本。9月,Google聯(lián)合T-Mobile、HTC,正式發(fā)布了首款Android平臺的手機G1。Google開源瀏覽器Chrome發(fā)布,發(fā)布僅僅幾個小時,它的總體占有率就達到了2%。10月,OpenOffice3.0發(fā)布,這對Linux的普及和實用化影響巨大。月底Ubuntu8.10發(fā)布,HYPERLINK/tonado/blog/item/b3211c23bf336d4992580780.htmlt_blankFedora10發(fā)布
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度孟安與配偶離婚協(xié)議:共同財產分割及子女監(jiān)護協(xié)議4篇
- 導演與攝影師2025年度合作協(xié)議3篇
- 2025年銷售人員合同范本:旅游產品銷售合作協(xié)議2篇
- 城東小學2025年度智能調光窗簾紗窗采購合同2篇
- 二零二五年度美發(fā)店員工培訓與職業(yè)發(fā)展合同4篇
- 2025年度金融衍生品買賣合同標的交易風險管理4篇
- 2025年度綠色能源餐館司爐員專項聘用合同3篇
- 鄭州城市職業(yè)學院《交通監(jiān)控系統(tǒng)》2023-2024學年第一學期期末試卷
- 二零二五版苗木種植保險產品設計與銷售合同4篇
- 2025年度房地產租賃融資合同模板4篇
- 2025春夏運動戶外行業(yè)趨勢白皮書
- 《法制宣傳之盜竊罪》課件
- 通信工程單位勞動合同
- 2024年醫(yī)療器械經營質量管理規(guī)范培訓課件
- 高低壓配電柜產品營銷計劃書
- 2024年4月自考02202傳感器與檢測技術試題
- 社會系統(tǒng)研究方法的重要原則
- 重癥醫(yī)學科健康宣教手冊
- 2022版《義務教育英語課程標準》解讀培訓課件
- 五個帶頭方面談心談話范文三篇
- 互聯(lián)網的發(fā)展歷程
評論
0/150
提交評論