建議學習路徑:

來源:互聯網
上載者:User

建議學習路徑: 

  首先先學學編輯器,vim, emacs什麼的都行。 
然後學make file檔案,只要知道一點就行,這樣就可以準備編程式了。 

  然後看看《C程式設計語言》K&R,這樣呢,基本上就可以進行一般的編程了,順便找本資料結構的書來看。 

  如果想學習UNIX/LINUX的編程,《Advanced Programing in Unix Envirement》絕對經典的教材,加深一下功底,學習《Unix Network Programing》的第二卷。這樣基本上系統方面的就可以掌握了。

  然後再看Douglus E. Comer的《用TCP/IP進行網際互連》第一卷,學習一下網路的知識,再看《UNP》的第一卷,不僅學習網路編程,而且對系統編程的一些常用的技巧就很熟悉了,如果繼續網路編程,建議看《TCP/IP進行網際互連》的第三卷,裡面有很多關於應用協議telnet、ftp等協議的編程。
如果想寫裝置驅動程式,首先您的系統編程的介面比如檔案、IPC等必須要熟知了,再學習《LDD》2。 

  對於幾本經典教材的評價: 

  《The C Programing Language》K&R 經典的C語言程式設計教材,作者是C語言的發明者,教材內容深入淺出。雖然有點老,但是必備的一本手冊,現在有時候我還常翻翻。篇幅比較小,但是每看一遍,就有一遍的收穫。另外也可用譚浩強的《C語言程式設計》代替。

  《Advanced Programing inUnix Envirement》 W.RichardStevens:也是非常經典的書(廢話,Stevens的書哪有不經典的。),雖然初學者就可以看,但是事實上它是《Unix NetworkPrograming》的一本輔助資料。國內的翻譯的《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 - Designand Implement》這個是講作業系統的書,用Minix做的例子。作者母語不是英文,所以英文看起來比較晦澀。國內翻譯的是《作業系統 設計與實現》,我沒看過中文版,因為翻譯者是尤晉元,他翻譯的《APUE》已經讓我失望頭頂了。讀了這本書,對作業系統的底層怎麼工作的就會
有一個清晰的認識。 

  《Linux Device Driver》2e ,為數不多的關於Linux裝置驅動程式的好書。不過內容有些雜亂,如果您沒有一些寫驅動的經驗,初次看會有些摸不著南北。國內翻譯的是《Linux裝置驅動程式》第二版,第一版,第二版的譯者我都有很深的接觸,http://blog.csdn.net/shanzhizi不過總體上來說,雖然第二版翻譯的有些不盡人意,但是相比第一版來說已經超出了一大截。要讀這一本書,至少應該先找一些《電腦原理》《電腦體繫結構》的書來馬馬虎虎讀讀,至少應該對硬體和電腦的工作過程有一些瞭解。


推薦《unix環境進階編程》 
《linux kernel development》(中文名忘了) 
《linux核心剖析》 
《linux裝置驅動》 
《深入理解linux核心》

 

 

 

 

初級:熟練使用命令、熟悉Shell編程、能配置簡單的服務,清楚各類服務相關的設定檔的位置,
能看懂並可修改系統提供的配置指令碼(/etc/*.*)
推薦書籍:
《鳥哥的私房菜基礎篇、進階篇》
《Advanced Bash Shell》

中級:熟悉TCP/IP原理、OS原理、熟練使用C語言、Linux系統編程、網路編程。
推薦書籍:
《The C Programming Language》
《Unix環境進階編程》
《Linux程式設計》
《TCP/IP協議詳解卷一》
《Unix網路進階編程》

進階:
《Linux Device Driver》
《深入理解Linux核心》
《深入理解電腦系統》
《深入理解LINUX網路內幕》

 

 

嵌入式書籍推薦 
Linux基礎http://blog.csdn.net/shanzhizi 
1、《Linux與UnixShell 編程指南》 
C語言基礎 
1、《C Primer Plus,5thEdition》【美】Stephen Prata著 
2、《The CProgramming Language, 2nd Edition》【美】Brian W.Kernighan David M. Rithie(K & R)著 
3、《AdvancedProgramming in the UNIX Environment,2nd Edition》(APUE) 
4、《嵌入式Linux應用程式開發詳解》 
Linux核心 
1、《深入理解Linux核心》(第三版) 
2、《Linux核心原始碼情景分析》毛德操 胡希明著 
   研發方向 
1、《UNIX NetworkProgramming》(UNP) 
2、《TCP/IP詳解》 
3、《Linux核心編程》 
4、《Linux裝置驅動開發》(LDD)  
5、《Linux進階程式設計》 楊宗德著
   硬體基礎 
1、《ARM體繫結構與編程》杜春雷著 
2、S3C2410Datasheet 
   英語基礎 
1、《電腦與通訊專業英語》 
   系統教程 
1、《嵌入式系統――體繫結構、編程與設計》 
2、《嵌入式系統――採用公開原始碼和StrongARM/Xscale處理器》毛德操 胡希明著 
3、《BuildingEmbedded Linux Systems》   
4、《嵌入式ARM系統原理與執行個體開發》 楊宗德著
   理論基礎 
1、《演算法導論》 
2、《資料結構(C語言版)》 
3、《電腦群組織與體繫結構?效能分析》 
4、《深入理解電腦系統》【美】RandalE. Bryant David O''Hallaron著 
5、《作業系統:精髓與設計原理》 
6、《編譯原理》 
7、《資料通訊與電腦網路》 
8、《資料壓縮原理與應用》 

C語言書籍推薦 
1. The C programming language 《C程式設計語言》 
2. Pointers on C 《C和指標》 
3. C traps and pitfalls 《C陷阱與缺陷》 
4. Expert C Lanuage 《專家C編程》 
5. Writing Clean Code -----MicrosoftTechiniques for Developing Bug-free C Programs 
   《編程精粹--Microsoft 編寫優質無錯C程式秘訣》 
6. Programming Embedded Systems in C and C++ 《嵌入式系統編程》 
7.《C語言嵌入式系統編程修鍊》 
8.《高品質C++/C編程指南》林銳 
   儘可能多的編碼,要學好C,不能只注重C本身。演算法,架構方式等都很重要。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.