linux內核代碼數量增長情況

Linux® 內核版本 3.3 和 3.4 包括一個令人印象深刻的特性集,但是在某種意義上它們也是不詳預兆的里程碑。版本 3.3 是第一個超過 1500 萬行代碼的 Linux 版本(採用了一種確實存在缺陷的測量方法測量的)。如果減去 Linux 內核的變體部分(比如驅動程序、架構相關代碼和各種工具),數量可能會下降到 400 萬以下(仍然是一個龐然大物)。

關於這個里程碑潛在的不詳預兆有兩個方面,Linux 內核的增長速度(自 2008 年以來增長了 50%)以及這種增長速度是否會對 Linux 內核效率(功率和性能)產生負面影響。功率和性能通常不是以每個補丁爲基礎進行測量,所以一個 bug 可能很容易蔓延到已發佈內核中,並存留一段時間(例如,在版本 3.3 中修復的 PCI Express [PCIe] Active State Power Management 功率問題,在內核中已經存在一年了)。

Linux 內核版本控制

內核使用一個由 3 部分組成的數字組合進行版本控制,該數字組合是由一個內核版本、一個主要修訂和微小修訂(例如,3.3.4)構成。候選發佈版本內核包括一個 rc#"後綴,該後綴中包含一個數字,代表具體候選版本(例如,當前版本是 3.5rc1)。

在不到 21 年的時間內,Linux 已經從 10,000 多行代碼增長到超過 1500 萬行代碼。儘管大多數代碼駐留於驅動程序子樹中,但內核的複雜性隨着代碼的增多在不斷增加。很快有一天,這種擴大可能會導致修改內核來消除複雜性並提高其可維護性。

如 圖 1 所示,版本 2.4 自 2001 年發佈以來,Linux 內核增長迅速(從 3,377,902 行增加到 2012 的 14,998,651 行)。這段時期內,每年幾乎有大約 100 萬行新代碼被添加到內核中。這是一個驚人的數字,會讓每個軟件開發人員都感到恐懼。


圖 1. 版本 2.2(2001 年)到版本 3.3(2012 年)的內核大小 
圖表顯示從版本 2.2(2001 年)到版本 3.3(2012 年)的內核大小 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章