2011-02-23 126 views
66

我有兩本書爲此目的:Linux Kernel Development作者:Robert Love和O'Reilly的瞭解Linux內核。我已經開始閱讀這些書籍,並且已經下載了Linux的最新源代碼。如何開始學習linux內核編程,編碼或閱讀?

現在,從這裏開始,我應該繼續閱讀這些書籍,直到最後,還是應該開始查看代碼......如果我應該開始編碼,那麼從哪裏開始?有很多目錄和文件讓我感到困惑,因爲哪個是開始理解代碼的最佳位置。我可能還會補充說我的操作系統已經有了課程,我對這些概念很滿意......請給出任何建議,這些建議將有助於我進一步開展工作。還請告訴我你是如何學會開始編程內核的? 謝謝你提前...

+4

「有這麼多的目錄和文件,我很困惑,這是開始理解代碼的最佳場所」。採取提示。多讀書。 – 2011-02-23 21:12:56

+0

羅伯特·洛夫的書絕對是最好的。易於理解,易於理解,既注重理論又注重實施,並具有非常好的閱讀風格。 – ldx 2011-02-24 09:23:48

+1

http://stackoverflow.com/a/27782191/220386 – 2015-01-07 13:44:59

回答

28

你已經挑選了兩本非常棒的書開始學習。主要的是,我會建議完成這些書,並儘可能地嘗試遵循這些例子。我個人在從大學寫出爲嵌入式設備(大量模擬和數字採集卡)編寫Linux設備驅動程序的工作後,深深地關注了內核代碼。我沒有以前的經驗,你提到的兩本書幫助我開始朝着正確的方向發展。

我給你的問題是,你爲什麼要學習Linux內核編程?這可能有助於我們建議您可能參與的一個開源項目。

而且,在這裏你可以找到需要開發核項目的良好來源:http://kernelnewbies.org/KernelProjects

+5

我想學習內核編程,因爲我喜歡操作系統的理論,我想學習代碼如何實現它。這純粹是出於興趣。上學期我學習了一些設備驅動程序編程,我發現它很有趣。另外,我喜歡用C語言和彙編編程。 – pflz 2011-02-23 21:32:12

+1

這很好,你有一個普遍的興趣,但很難建議一個好的起點在編碼方面。查看我提供的鏈接,選擇一個較低難度的項目,或者從這裏開始一些'KernelJanitor'工作http://kernelnewbies.org/KernelJanitors – 2011-02-23 21:35:21

0

我會建議你去你偏愛的(在線)書店和搜索有關Linux內核開發的書。爲了開始,有一本描述最新技術的書並不重要。相反,這本書應該符合你的編程技巧。

作爲第二期尋找Linux(在線)雜誌的技術文章描述新技術。

2

這是一個很難回答的問題。

什麼是你想要編碼(在未來)。 也許我們可以從那裏去。

我的開始和唯一的經驗是寫一個簡單的usb驅動程序,帶有一些LED和按鈕,我在前段時間得到了一個公平的小工具。

我讀了一篇關於在Linux Magazine或類似軟件中編寫這些設備驅動程序的好文章。

http://www.kernel.org/doc/htmldocs/gadget.html有一些不錯的(過時?)信息!

不幸的是,我很久以來就失去了代碼(筆記本電腦)和閃爍的燈光小工具。