linux 0.11的內(nèi)核源碼,結(jié)合下面這本書,我花了大概一個寒假(1個半月),看了一遍。
然而,現(xiàn)在的內(nèi)核已經(jīng)膨脹的不成樣子了,以還不算最新的linux-4.9.229為例:
整個內(nèi)核源碼一共約 801M:
驅(qū)動代碼占了大概一半,大約407M:
體系相關(guān)的代碼大約164M:
網(wǎng)路子系統(tǒng)相關(guān)的代碼29M:
文件系統(tǒng)相關(guān)的代碼38M:
linux內(nèi)核核心代碼大約7.7M:
但是就這7.7M,其實你要完全看完看懂也不容易。linux內(nèi)核代碼涉及c語言、硬件組成原理、操作系統(tǒng)、數(shù)據(jù)結(jié)構(gòu)和算法等,這些基礎(chǔ)知道你都具備了嗎?如果沒有具備,即使看完linux內(nèi)核源碼,你也看不懂liux內(nèi)核的精髓。
linux內(nèi)核源碼大而全,一個人,即使再聰明、再有精力,也不可能完全看完、看懂所有的linux內(nèi)核源碼。你得選擇一個主線進行深入研究,這些主線可以是:
linux內(nèi)核啟動過程研究linux驅(qū)動架構(gòu)的學習和研究linux網(wǎng)絡(luò)子系統(tǒng)的研究linux內(nèi)存管理機制的研究linux調(diào)度器的學習和研究linux進程管理的學習和研究linux虛擬機制(kvm)的學習和研究linux內(nèi)核實時化技術(shù)的研究沿著某一個主線,深入進去,在研究清楚這個主線的同時,向其他的主線擴展、滲透和學習。由點到線、由線到面、由面到體,層層深入、不斷精進,是學習linux內(nèi)核源碼的一個有效的方法。
關(guān)注”技術(shù)簡說“,帶你由淺入深學習linux內(nèi)核源碼。linux內(nèi)核開發(fā)100講免費教程,每周二、周四晚上9點更新視頻,每周一、周三晚9點更新文章,敬請收看。進我主頁點”視頻“欄目即可觀看。