㈠ 學習linux 內核看哪方面的書比較好
如果是想做驅動,那就要看驅動程序方面的。
網上很多電子書,你可以看 linux 驅動程序 第三版
內核完全注釋太復雜了, 我建議你先學 C 編程 ,再看那個可能好點。
當然 , 也要是了解linux 的命令,和其他東西。
㈡ 誰能幫忙推薦幾本關於Linux和arm的書(一些對Linux和arm具有參考意義的書)
關於書籍
Linux基礎
1、《Linux與Unix Shell 編程指南》
2、《嵌入式Linux應用程序開發詳解》
C語言基礎
1. The C programming language 《C程序設計語言》
2. Pointers on C 《C和指針》
3. C traps and pitfalls 《C陷阱與缺陷》
4. Expert C Lanuage 《專家C編程》
5、《高質量程序設計指南:C++/C語言(第3版)》
Linux內核
1、《深入理解Linux內核》(第三版)
2、《Linux內核源代碼情景分析》毛德操 胡希明著
研發方向
1、《UNIX Network Programming》(UNP)
2、《TCP/IP詳解》
3、《Linux內核編程》
4、《Linux設備驅動開發》(LDD)
硬體基礎
1、《ARM體系結構與編程》杜春雷著
2、S3C2410 Datasheet
英語基礎
1、《計算機與通信專業英語》
系統教程
1、《嵌入式系統――體系結構、編程與設計》
2、《嵌入式系統――採用公開源代碼和StrongARM/Xscale處理器》毛德操 胡希明著
3、《Building Embedded Linux Systems》
理論基礎
1、《演算法導論》
2、《數據結構(C語言版)》
3、《計算機組織與體系結構?性能分析》
4、《深入理解計算機系統》【美】Randal E. Bryant David O'Hallaron著
5、《操作系統:精髓與設計原理》
6、《編譯原理》
㈢ 關於LINUX 編程方面的書籍
假設你是計算機科班出身,計算機系的基本課程如數據結構、操作系統、體系結構、編譯原理、計算機網路你全修過
我想大概可以分為4個階段,水平從低到高
從安裝使用=>linux常用命令=>linux系統編程=>內核開發閱讀內核源碼
其中學習linux常用命令時就要學會自己編譯內核,優化系統,調整參數
安裝和常用命令書太多了,找本稍微詳細點的就ok,其間需要學會正則表達式
系統編程推薦《高級unix環境編程》,黑話叫APUE
還有《unix網路編程》
這時候大概還需要看資料理解elf文件格式,連接器和載入器,cmu的一本教材中文名為《深入理解計算機系統》比較好
內核開發閱讀內核源碼階段,從寫驅動入手逐漸深入linux內核開發
參考書如下《linux device drivers》,黑話叫ldd
《linux kernel development》,黑話叫lkd
《understading the linux kernel》,黑話叫utlk
《linux源碼情景分析》
這四本書為搞內核的必讀書籍
最後,第三階段和第四階段最重動手,空言無益,光看書也不罩,不動手那些東西理解不了
學習linux/unix編程方法的建議
建議學習路徑:
首先先學學編輯器,vim, emacs什麼的都行。
然後學make file文件,只要知道一點就行,這樣就可以准備編程序了。
然後看看《C程序設計語言》K&R,這樣呢,基本上就可以進行一般的編程了,順便找本數據結構的書來看。
如果想學習UNIX/LINUX的編程,《APUE》絕對經典的教材,加深一下功底,學習《UNP》的第二卷。這樣基本上系統方面的就可以掌握了。
然後再看Douglus E. Comer的《用TCP/IP進行網際互連》第一卷,學習一下網路的知識,再看《UNP》的第一卷,不僅學習網路編程,而且對系統編程的一些常用的技巧就很熟悉了,如果繼續網路編程,建議看《TCP/IP進行網際互連》的第三卷,裡面有很多關於應用協議telnet、ftp等協議的編程。
如果想寫設備驅動程序,首先您的系統編程的介面比如文件、IPC等必須要熟知了,再學習《LDD》2。
對於幾本經典教材的評價:
《The C Programing Language》K&R 經典的C語言程序設計教材,作者是C語言的發明者,教材內容深入淺出。雖然有點老,但是必備的一本手冊,現在有時候我還常翻翻。篇幅比較小,但是每看一遍,就有一遍的收獲。另外也可用譚浩強的《C語言程序設計》代替。
《Advanced Programing in Unix Envirement》 W.Richard Stevens:也是非常經典的書(廢話,Stevens的書哪有不經典的!),雖然初學者就可以看,但是事實上它是《Unix Network Programing》的一本輔助資料。國內的翻譯的《UNIX環境高級編程》的水平不怎麼樣,現在有影印版,直接讀英文比讀中文來得容易。
《Unix Network Programing》W.Richard Stevens:第一卷講BSD Socket網路編程介面和另外一種網路編程介面的,不過現在一般都用BSD Socket,所以這本書只要看大約一半多就可以了。第二卷沒有設計到網路的東西,主要講進程間通訊和Posix線程。所以看了《APUE》以後,就可以看它了,基本上系統的東西就由《APUE》和《UNP》vol2概括了。看過《UNP》以後,您就會知道系統編程的絕大部分編程技巧,即使卷一是講網路編程的。國內是清華翻譯得《Unix網路編程》,翻譯者得功底也比較高,翻譯地比較好。所以建議還是看中文版。
《TCP/IP祥解》一共三卷,卷一講協議,卷二講實現,卷三講編程應用。我沒有怎麼看過。,但是據說也很經典的,因為我沒有時間看卷二,所以不便評價。
《用TCP/IP進行網際互連》Douglus.E.Comer 一共三卷,卷一講原理,卷二講實現,卷三講高級協議。感覺上這一套要比Stevens的那一套要好,就連Stevens也不得不承認它的第一卷非常經典。事實上,第一卷即使你沒有一點網路的知識,看完以後也會對網路的來龍去脈了如指掌。第一卷中還有很多習題也設計得經典和實用,因為作者本身就是一位教師,並且卷一是國外研究生的教材。習題並沒有答案,留給讀者思考,因為問題得答案可以讓你成為一個中級的Hacker,這些問題的答案可以象Douglus索取,不過只有他只給教師卷二我沒有怎麼看,卷三可以作為參考手冊,其中地例子也很經典。如果您看過Qterm的源代碼,就會知道Qterm的telnet 實現部分大多數就是從這本書的源代碼過來的。對於網路原理的書,我推薦它,而不是Stevens的《TCP/IP祥解》。
《Operating System - Design and Implement》這個是講操作系統的書,用Minix做的例子。作者母語不是英文,所以英文看起來比較晦澀。國內翻譯的是《操作系統設計與實現》,我沒看過中文版,因為翻譯者是尤晉元,他翻譯的《APUE》已經讓我失望頭頂了。讀了這本書,對操作系統的底層怎麼工作的就會
有一個清晰的認識。
《Linux Device Driver》2e ,為數不多的關於Linux設備驅動程序的好書。不過內容有些雜亂,如果您沒有一些寫驅動的經驗,初次看會有些摸不著南北。國內翻譯的是《Linux設備驅動程序》第二版,第一版,第二版的譯者我都有很深的接觸,不過總體上來說,雖然第二版翻譯的有些不盡人意,但是相比第一版來說已經超出了一大截。要讀這一本書,至少應該先找一些《計算機原理》《計算機體系結構》的書來馬馬虎虎讀讀,至少應該對硬體和計算機的工作過程有一些了解。
㈣ 哪們兄弟給我推薦本學習linux內核的書
《深入理解LINUX內核》
陳莉君/ 馮銳/ 牛欣源/.
中國電力出版社.
2004年6月
㈤ 學習硬體開發需要學習哪些書籍
下面是我列出的書單:
嵌入式書籍推薦
Linux基礎
1、《Linux與UnixShell編程指南》
C語言基礎
1、《CPrimerPlus,5thEdition》StephenPrata著
2、《TheCProgrammingLanguage,2ndEdition》BrianW.KernighanDavidM.Rithie(K&R)著
3、《,2ndEdition》(APUE)
4、《嵌入式Linux應用程序開發詳解》
Linux內核
1、《深入理解Linux內核》(第三版)
2、《Linux內核源代碼情景分析》毛德操胡希明著
研發方向
1、《UNIXNetworkProgramming》(UNP)
2、《TCP/IP詳解》
3、《Linux內核編程》
4、《Linux設備驅動開發》(LDD)
5、《Linux高級程序設計》楊宗德著
硬體基礎
1、《ARM體系結構與編程》杜春雷著
2、S3C2410Datasheet
英語基礎
1、《計算機與通信專業英語》
系統教程
1、《嵌入式系統——體系結構、編程與設計》
2、《嵌入式系統——採用公開源代碼和帶掘StrongARM/Xscale處理器》毛德操胡希明著
3、《BuildingEmbeddedLinuxSystems》
4、《嵌入式ARM系統原理與實例開發》楊宗德著
理論基礎
1、《演算法導論》
2、《數據結構(C語言版)》
3、《計算機組型羨織與體系結構?性能分析》
4、《深入理解計算機系統》RandalE.BryantDavidO''Hallaron著
5、《操作系統:精髓與設計原理》
6、《編譯原理》
7、《數據通信與計算機網路》
8、《數據壓縮原理與應用》
C語言書籍推薦
1.TheCprogramminglanguage《C程序設計語言》
2.PointersonC《C和指針》
3.Ctrapsandpitfalls《C陷蠢租核阱與缺陷》
4.ExpertCLanuage《專家C編程》
5.WritingCleanCode------freeCPrograms
《編程精粹--Microsoft編寫優質無錯C程序秘訣》
6.《嵌入式系統編程》
7.《C語言嵌入式系統編程修煉》
8.《高質量C/C編程指南》林銳
把這些書看完,基本就可以了
㈥ 如何學習Linux內核該學習哪些方面的知識謝謝!!!
最早接觸inux是看了《linux操作系統實用教程》,98~99年的光景,學習了簡單的操作和內核編譯,那時候開始注意並學習內核。看的第一本是《Unix環境高級編程》,看了一部分沒看完,開始對
if(!(p=fork()))
{
…………
}
else
{
……
}
結構恨意很疑惑,這和一般的應用程序邏輯相背,因此想搞明白內核在干什麼,怎麼乾的。開始買了《操作系統設計與實現》,上下冊,下冊全是minix操作系統內核代碼。它和linux完全不同的,一個是微內核,一個單內核。即便看懂了minix,linux也要從頭看起,反之亦然。因此後來沒鑽進去。我看的第一本Linux內核書是李善平老師的《linux操作系統實驗教程》,當時市面上關於內核的書很少,這本是講2.0.35版的好像,似懂非懂。就開始邊看邊讀源代碼,間或看點操作系統原理的書,有不懂得在論壇上提問,這樣慢慢琢磨,就有點懂了。現在比當時好多了,很多內核的書,各方面剖析得很詳盡。不過要學懂,還是要:1、有好奇心和興趣 2、看書、讀代碼,這樣能夠比較懂。要進一步提高的話還要學會修改內核。有以下書籍可以參考:
1、《linux內核完全剖析》0.11版內核
2、《深入理解linux內核》(1、2、3版) ,3個版本分別對應2.2、2.4、2.6版的內核。
3、《linux內核源代碼情景分析》2.4.0版內核
4、《linux內核設計與實現》
5、《linux設備驅動程序》
㈦ 要進行Linux內核編程,有什麼好書推薦!
內核不需要你編程,建議你還是看看linux驅動之類的書籍。
㈧ 我想學習linux內核開發,請推薦一下書籍
建議選擇
linux內核設計與實現
深入理解linux內核
其實還有一本對了解linux內核有幫助
linux性能之巔