Linux源代碼閱讀方法

Linux的源代碼是很龐大的,如果沒有一個好的方法是很難能夠有一個比較高的效率的。所以我首先要寫的就是我在閱讀linux源代碼的時候所採用的方法。希望會對大家有所幫助!


首先,我找了幾本分析linux源代碼的書。有一本關於linux源代碼分析的書是必須的,因爲沒有人能在第一次閱讀linux源代碼的時候能夠很好的理 解他,甚至有了書籍也不一定能很好的理解他。我找到了《linux源代碼完全註釋》和《linux源代碼情景分析》。其中,《linux源代碼完全註釋》 是一個對早期的linux內核源代碼的分析,而《linux源代碼情景分析》是對2。4版的內核源代碼進行了分析。實際上很長一段時間我只是在看這兩本 書。


接下來,我並沒有直接去仔細的去研究這兩本書,而是先花了一段時間通讀了一遍。這樣做的目的就是對linux有一個整體的認識。我在這一步裏,大體上了解 了 linux源代碼中大多數文件的作用。這樣做會對以後的閱讀有很大的幫助。如果這一步做不好,你在以後的閱讀中會感覺到很大的困難,這種困難可能會使你喪 失閱讀下去的信心。因爲,你會發現你根本不知道他在講些什麼,即使有書籍的幫助。


然後,我們就可以開始我們的閱讀源代碼的激動人心的時刻了!但是應該注意的是,我們閱讀源代碼應該有一個固定的順序。而不應該翻到那兒看到那兒!一般按照 書上的順序就可以了。但是很不幸,好像每本書的順序都是不一樣的!這樣我們就應該按照我們自己的具體情況來選擇一種。我的建議是:如果你的數據結構學的很 好的話,你就先讀那些內核數據結構,例如進程控制塊等等。但是,如果很不幸數據結構學的不怎麼樣,甚至根本就是不怎麼地,那麼就以引導程序開始閱讀,以系 統的引導爲主線一直讀下去。讀boot文件夾裏的文件,應該注意的是,你應該有一定的彙編語言的知識,不然你很難能真正理解裏面的內容。我讀這兒的時候就 專門補習的彙編語言的知識。然後是init裏面的 main.c文件,這兒是一個匯聚點。這個文件就好像一棟大樓的大廳,我們要從這兒走到這棟樓的個個部分。我們下一步就是按照main中的順序來閱讀整個 linux內核的個個部分,這些部分包括了linux源代碼的絕大部分內容。我就是按照後者來閱讀的,因爲我的數據結構基本上就是白板。很不幸,直到現在 我還沒有完全閱讀完linux內核早期版本的源代碼。也就是說,我對於linux內核源代碼的閱讀方法的經驗就只有這些了。


最後,我還想說的是,如果你有時間的話,可以閱讀一下近期的內核版本中的相應的文件,看看有什麼變化,這樣會加深對linux內核的理解!
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章