史上最經典的Linux內核學習方法論

(聲明下,轉載的地址好像也是轉別人的,看來好東東你們都在轉) html

      待到山花爛漫時,仍是那些經典在微笑。 linux

  有關內核的書籍能夠用汗牛充棟來形容,不過只有一些經典的神做經住了考驗。首先是5本久經考驗的神做(我的歸納爲「2+1+2」,第一個2是指 2本全面講 解內核的書,中間的1指1本講解驅動開發的書,後面的2則指2本有關內核具體子系統的書,你是否想到了某某廣告裏三我的忽然站起單臂齊舉高呼「1比1 比 1」的場景?)。 網絡

  《Linux內核設計與實現》 學習

  簡稱LKD,從入門開始,介紹了諸如進程管理、系統調用、中斷和中斷處理程序、內核同步、時 網站

  間管理、內存管理、地址空間、調試技術等方面,內容比較淺顯易懂,我的認爲是內核新人首先必 .net

  讀的書籍。新人得有此書,足矣! 翻譯

  《深刻理解Linux內核》 設計

  簡稱ULK,相比於LKD的內容不夠深刻、覆蓋面不廣,ULK要深刻全面得多。 調試

  前面這兩本,一本提綱挈領,一本全面深刻。 htm

  《Linux設備驅動程序》

  簡稱LDD,驅動開發者都要人手一本了。

  《深刻理解Linux虛擬內存管理》

  簡稱LVMM,是一本介紹Linux虛擬內存管理機制的書。若是你但願深刻的研究Linux的內存管理

  子系統,仔細的研讀這本書無疑是最好的選擇。

  《深刻理解LINUX網絡內幕》

  一本講解網絡子系統實現的書,經過這本書,咱們能夠了解到Linux內核是如何實現複雜的網絡功能的。(忘了聲明下,我這列出來的書名是中文的,可是並不表明我建議你們去看他們的中文版,其中有的翻譯的實在太??了,呵呵)

  這5本書各有側重,正以下面的圖所展現的那樣,剛好表明了我的一直主張的內核學習方法:首先經過LKD或ULK瞭解內核的設計實現特色,對內核 有個總體全局的認識和理解,而後可分爲兩個岔路,若是從事驅動開發,則鑽研LDD,若是但願對內核不是泛泛而談而是有更深刻的理解,則能夠選擇一個本身感 興趣的子系統,仔細分析它的代碼,不懂的地方就經過社區、郵件列表或者直接發Email給maintainer請教等途徑弄懂,切勿得過且過,這樣分析下 來,對同步、中斷等等內核的不少機制也一樣會很是瞭解,俗話說的一通則百通就是這個道理。固然,若是你選擇研究的是內存管理或者網絡,則能夠有上面的兩本 書能夠學習,若是是其餘子系統可能就沒有這麼好的運氣了。

  內核社區

  最近幾年,社區網站很是的熱火,不過此社區非彼社區。

  Linux最大的一個優點就是它有一個緊密團結了衆多使用者和開發者的社區,它的目標就是提供盡善盡美的內核。內核社區的中心是內核郵件列表 (Linux Kernel Mailing List,LKML),咱們能夠在http://vger.kernel.org/vger-lists.html#linux-kernel上面看到訂 閱這個郵件列表的細節。

  內核郵件列表的流量很大,天天都有幾百條消息,這裏是大牛們的戰場,小牛們的天堂,任何一個內核開發者均可以從中受益非淺。除了LKML,大多 數子系統也有本身獨立的郵件列表來協調各自的開發工做,好比USB子系統的郵件列表能夠在http://www.linux-usb.org /mailing.html上面訂閱。

  其餘網絡資源

  除了內核郵件列表,還有不少其餘的論壇或網站值得咱們常常關注。咱們要知道,網絡上不只有獸獸和鳳姐,也不只有犀利哥和韓局長。 http://www.kernel.org/ 能夠經過這個網站上下載內核的源代碼和補丁、跟蹤內核bug等。http://kerneltrap.org Linux和BSD內核的技術新聞。若是沒時間跟蹤LKML,那麼常常瀏覽kerneltrap是個好主意。http://lwn.net/ Linux weekly news,建立於1997年末的一個Linux新聞站點。http://zh-kernel.org/mailman/listinfo/linux- kernel 這是內核開發的中文郵件列表,裏面活躍着不少內核開發領域的華人,好比Herbert Xu,、Mingming Cao、Bryan Wu等。

相關文章
相關標籤/搜索