樸素linux

  大學裡我堅持的最久的一項任務就是自學 linux 內核, 雖然以後可能也沒機會從事 linux 內核方面的工作, 但是至少提升了自己的編程水平。

  linux 最新內核的源代碼已經沒有進行全面研究的可能了, 我看的是 linux0.01 的內核源碼。 沒有指導直接看源代碼是不太容易看懂的, 因為其中涉及到不少硬件操作的規範, 《linux內核完全註釋2.01》——趙炯 著 對早期linux內核的分析是最詳細的,真的達到了完全註釋的地步, 雖然書裡分析的是 linux0.11 的源代碼, 但相對於 0.01 的改動不多。

  而最新的內核由於巨大的代碼量, 要達到源代碼的完全註釋應該是不可能的了, 但是從大粒度上進行的分析也是很有價值的。 《Linux內核設計與實現》英文名為 Linux kernerl Development , 是 Robert Love 所著,陳莉君、康華、張波 翻譯的, 我從這本書中瞭解了最新內核的進程調度思想。

  還有一本書,書名是《LINUX內核源代碼情景分析》 毛德操 胡希明 著,這本書對於 PCI 總線操作規範的介紹可謂完全註釋。為什麼我會看 PCI 總線的操作?因為現在的電腦都是用 PCI 而非早期的 ISA 總線了,linux0.01 對硬盤的操作使用 ISA 規定的固定端口, 而 PCI 總線中的硬盤的端口是動態設定的, 與 ISA 時的端口不一致了,所以如果想用 linux0.01 讀寫我本機的硬盤的話就得加入 PCI 的功能, 所以我才看關於最新內核的書,我是被逼的。

  就快要畢業去工作了,想著寫幾篇文章同大家分享一下 linux 和 C 語言方面的底層知識。那些既想了解底層 又不願意系統地看源代碼或操作系統方面書籍的同學可以來看看, 就當是看一部小說吧。 這個系列的名字叫樸素linux

  以下是目錄,目錄隨著進度變更, 還有可能被重新分類整理,請見諒。


书籍推荐