linux内核代码数量增长情况

来源:互联网 发布:php设计模式 编辑:程序博客网 时间:2024/06/11 11:55

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 年)的内核大小 
原创粉丝点击