Linux Story 說 第4期:論小白正確打開linux內核代碼的方式
這期節目華華向大家分享一下怪蜀黍他自己在入門 Linux 時的心得與體會。怪蜀黍做這期節目文案時非常的忐忑,他說:「聽友大神們如果覺得總結的有誤或者遺漏重要的事項,一定要留言指正。「 簡單的說,就是吐槽啦。
首先是閱讀代碼的工具,怪蜀黍迄今用過 vim+cscop+ctags 的黃金組合在 Linux 平台上讀代碼,還有 Windows 上的 source insight,以及在 web 上臨時快速查閱代碼的 lxr 網站。儘管 source insight 和 lxr 都提供很直觀的操作與顯示方式,但這兩種主要用於代碼的瀏覽。蜀黍還是推薦小白入門時,值得花時間熟練掌握第一種工具的使用方法。內核代碼包自身提供了對這種工具的直接支持,熟練使用以後,就可以自由地在浩如煙海的代碼中流暢跳轉啦。
第二點,如何讀什麼代碼。蜀黍認為,小白一開始應該先讀讀相關的內核分析書籍或者相關參考資料。然後根據書上的給出的線路圖來研究代碼。例如,你想弄清楚系統是如何啟動的,那麼就可以從386保護模式展開閱讀;或者你需要從事驅動程序開發,則找本 Linux 驅動程序開發的書開始研究,然後找找內核相關設備驅動代碼閱讀;又或者你需要了解內核某些子系統性能調優時,一些參數具體意義,就去參閱相關子系統的文檔資料再作具體研究。總之,現代內核代碼涉及到太多的方面,入門時需要先確定一個具體的目標,從一個具體的功能點入手開始閱讀代碼。
第三點,動手,小白逐步消除對內核的神秘感,敬畏感的最快速方式就是逐步深入的動手摺騰內核。對於書上的例子程序,大家可以自己琢磨,如果我改改一些地方,那麼內核會怎麼反應,然後動手去實現並驗證它。在這個過程中自然後會遇到各種問題,當你一點點解決這些問題以後,你會發現不知不覺已經積累了不少經驗。此時,眼前的內核代碼再也不是恐怖的龐然大物啦。
蜀黍是不是總結得比較到位呢?
由於時間關係,今天的#Linux Story說#節目就到這裡。在後續的節目里,華華會繼續跟進這個話題,我們將向大家提供一份推薦參考書單,並給出一手的書評。本期語音文稿稍後會在 Linux Story 網站掛出,也歡迎大家到置頂微博吐槽。微信關注 Linux Story,回復01、02等數字獲取相關語音文件。感謝大家的收聽!下周見咯~
關注 Linux Story,第一時間了解 #Linux Story 說# :
最新節目第一時間發布到微信公眾號:
更多互動詳見LS官方微博:http://weibo.com/linuxstory
往期文稿:http://www.linuxstory.org/category/linux-story-talk-show/
來來來,支持下