1. 程式人生 > >Linux核心學習書籍

Linux核心學習書籍

轉自: https://blog.csdn.net/21aspnet/article/details/6585602

關於核心學習我建議不要上來就讀核心而是先了解核心的構成和特性,然後通過思考發現疑問這時再去讀核心原始碼。即先了解概貌在讀區域性細節。而且核心分成好多部分,不要只是按照順序去讀,應該針對某一部分比如記憶體管理或程序管理橫向讀幾本書,這樣可以理解很全面。

Linux Kernel 四庫全書
1. Linux核心設計與實現 Edition 2   
2. Linux裝置驅動 Edition 3   
3. Linux核心原始碼情景分析   
4. 深入理解Linux核心(第三版)

1.《Linux核心設計與實現》


本書重在原理。適合入門的最佳圖書。作者是為2.6核心加入了搶佔的人,對排程部分非常精通,而排程是整個系統的核心,因此本書是很權威的。

 

2.《深入理解Linux核心》

此書比上一本多了些細節。是Linux核心黑客在推薦圖書時的首選。寫的比較簡單易懂,適合剛剛接觸LINUX核心的。
此書圖表很多,形象地給出了關鍵資料結構的定義,與《Linux核心原始碼情景分析》相比,本書內容緊湊,不會一個問題講解動輒上百頁,有提綱挈領的功用,但是深度上要遜於《Linux核心原始碼情景分析》。 


3.《LINUX裝置驅動程式(第3版)》

這書強調動手實踐!但它是講解“裝置驅動”的,不是最核心的東西,而且有些東西沒硬體的話無法實踐,可能更適合驅動開發的程式設計師吧,其中關於同步與互斥、記憶體分配的部分,感覺很不錯。 

 

4.《Linux核心原始碼情景分析》

書很好,很經典,是浙大教授毛德操寫的,可惜成書於2001年之後一直沒有更新。分上下冊。

很多是基於2.4核心講解的需要注意。如果學習的話也建議學習2.6,2.6跟2.4比發生了很多顯著改善,應該學習的。

全書內容博大精深,不是非常好懂,對細節問題描述比較清晰。但是感覺對核心的整體感覺不夠強。另外缺少網路部分的分析。覺得不是很適合初學者。
上冊講解記憶體管理、中斷、異常與系統呼叫、程序控制、檔案系統與傳統Unix IPC;下冊講解socket、裝置驅動、SMP和引導。

本書基於Intel IA32體系,由於厚度大,很多體系上的知識都捎帶講解了,所以如果你想深入瞭解核心的工作機制而又不非常熟悉Intel CPU的體系構造,本書是最合適的。

 

這本書可以結合陳莉君老師的《深入分析Linux核心原始碼》,這本書也是2.4核心的,網上可以下載

作者: 陳莉君
出版社: 人民郵電出版社
出版年: 2002-8
頁數: 531
ISBN: 9787115105257

說明:陳老師是上述《深入理解Linux核心》和《Linux核心設計與實現》的作者,曾通讀過linux的所有程式碼。
 

==================擴充閱讀==================

5.《Linux核心原始碼分析》

作者: (美)Scott Maxwell
譯者: 馮銳/邢飛/等
出版社: 機械工業出版社
出版年: 2000-06
頁數: 633
ISBN: 9787111080923

點評:面對中高階,這本書很好,對了解作業系統是一本不可多得的好書。

 

6. 《LINUX KERNEL技術手冊》

參考手冊,很薄,值得一看。

 

7.《深入Linux核心架構》

這本書針對的是比較新的核心版本2.6.24;內容比較全面,深入淺出。

如果沒有對Linux核心的初步結構的認識,那麼會看得比較吃力。 建議可以一邊去翻在國內已經聞名已經久的四本Linux核心著作(《Linux核心原始碼情景分析》、《Linux核心設計與實現》、《深入理解Linux核心》、《Linux裝置驅動程式》),再一邊看這本書,把這本書當作一個補充或者當作一個核心框架圖譜說明書來閱讀,收效會更好。

 

8.《Linux核心完全註釋》

此書出自同濟一個博士--趙炯。

本書作者趙炯談《Linux核心完全註釋》和《Linux核心原始碼情景分析》..
主要描述和註釋了Linux 0.11核心全部原始碼。對於初學Linux核心作業系統的人來講,該書能夠引領讀者快速入門,並且能全面瞭解一個簡單作業系統的工作機理。對於進一步學習現在的Linux核心具有非常大的指導作用。對於學習嵌入式應用的技術人員來講,通過《完全註釋》一書的學習也能迅速融入嵌入式應用領域。同樣,該書也能作為閱讀現代Linux核心原始碼的一本參考手冊使用。由於該書是對程式碼逐條進行註釋的,因此也能作為深入學習C語言程式設計的參考書。另外,該書不僅配備有完整的Linux 0.11系統試驗環境,而且本人還在一年前就在網上專門建立了一個針對該書的網站“www.oldlinux.org”,專門開闢了一個討論該書所涉及的Linux核心實現的論壇。目前該網站的內容已經被權威Linux核心釋出網站www.kernel.org全部作了映象(mirrors.kernel.org)。

http://www.oldlinux.org/Linux.old/

網站宗旨:

收集Linux從醞釀到開發初始版本有關的所有資料和資訊(1991-1995);

重新建立起最古老的Linux可執行系統,這些系統在其它地方很難再找到了;

為初學者提供一個學習Linux核心基本工作原理的最簡單方法。

 

本書新版:《Linux核心完全剖析--基於0.12核心》

2009年出的,很厚。

===============自制作業系統系列==================

9.《Orange S:一個作業系統的實現》

作者:於淵

出版社: 電子工業出版社; 第1版 (2009年6月1日)

本書第一版2005年出版,這是第二版。

從只有二十行的引導扇區程式碼出發,一步一步地向讀者呈現一個作業系統框架的完成過程。

 

10.《30天自制作業系統

作者: (日)川合秀實    [作譯者介紹]
譯者: 周自恆 李黎明 曾祥江 張文旭
叢書名: 圖靈程式設計叢書
出版社:人民郵電出版社
ISBN:9787115287960

點評:小日本寫的,不過確實寫的內容很好,講怎麼自己一步步寫作業系統,從彙編到C都有涉及。

_________________________________________________________________________

 

unix是Linux的基礎,學習linux也要看unix

Unix的絕版好書

UNIX作業系統設計


    原書名:The Design of the UNIX Operating System

    作者: (美)Maurice J.Bach   
    譯者: 陳葆鈺 王旭 柳純錄 馮雪山
    叢書名: 電腦科學叢書
    出版社:機械工業出版社
    ISBN:9787111373971

點評:當年linux之父參考過,非常經典,無需多言

----------------------------------------------------------

 

UNIX程式設計環境


    原書名:The UNIX Programming Environment

    作者: Brianw.Kernighan   
    譯者: 陳向群
    叢書名: 電腦科學叢書
    出版社:機械工業出版社
點評:非常好的入門書.書中絕無生僻的角落,對於入門來說沒有什麼難以理解的。但是字裡行間浸透了作者設計unix的指導思想,這一點是別的入門書無法企及的。
  書中提及的點滴都是實用的方法和準則,而這些充斥著在unix上一整天的工作,即使是有經驗的使用者學過此書後工作效率也會提升。

 

UNIX高階教程系統技術內幕

作者: (美)Uresh Vahalia
譯者: 聊鴻斌/等
出版社: 清華大學出版社
出版年: 1999-05

點評:老書,有電子版。linux/unix的頂級寶貝!