温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

2017版Linux内核开发报告的示例分析

发布时间:2021-12-04 09:39:53 来源:亿速云 阅读:110 作者:小新 栏目:系统运维

这篇文章给大家分享的是有关2017版Linux内核开发报告的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

Linux 项目的现状

本次的报告,所统计的数据是从内核的 4.7 算起,到 4.13 止,先看看Linux都增加了那些新的特性吧:

  • 透明 Huge 页现在可以支持基于文件的页,以及可编程的数据的页,可以更加高效的利用内存。

  • 内核的文档系统切换到了新的工具链,即 Sphinx:为了更好的组织和加强内核的文档。

  • 内核的核心计时机制,被替代为新的更加高效。

  • 网络栈中的“易捷版数据路径”机制的实现,可以处理用户 BPF 程序负载的高速网络包。

  • BBR 拥塞控制算法改善了多种设置中的网络性能。

  • ……

以及更多的驱动、更安全、更多的测试。

当你的代码是运行在数十亿台设备上的时候,感觉真的不一般。 ——Jens Axboe(Software Engineer, Facebook)

都有谁为 Linux 做的改变?

自从进入 Git 时代(即 2005 年 2.6.11 发布之后),共有 15,637 名开发者为 Linux 内核的开发做了贡献,这些开发者至少是来自  1,513 家公司。

尽管那些独立的开发者看起来是很多,但其实是少部分人做了大量的工作,在几乎所有的开发周期中,大约有 1/3 的开发者,每人仅贡献一个补丁。自 2.6.11  版本之后,贡献最多的前十位工程师,他们加起来的贡献有 45,338 次改变,大概占了总数的 7.1%,前 30 名加起来的贡献是 16%。他们的名字是:

2017版Linux内核开发报告的示例分析

Linux 仍然是存在这个人英雄主义色彩的,是的如此庞大的系统,必须是群体智慧的产物。但是精英们、英雄们付出了他们智慧与努力,理应得到荣耀。

我一直以来都喜欢底层的软件打交道,因为他们靠近硬件的边界。 ——Kees Cook(Software Engineer, 来自Google)

都有那些公司为 Linux 做了赞助?

没错,你能想到的 IT 公司基本都是 Linux 的贡献者,他们雇佣开发者专门来对内核进行开发,有芯片厂商如 Intel、AMD、ARM、TI  等,也有互联网巨头 Google、Facebook,是谁并不重要。

正如有的评论家称,无论哪家公司,若是去说开源对于他们的发展相比于他们的贡献都是不成比例的,无论怎么反馈都是他们有利。商业公司考虑的因素更多,但是不能失去内核,内核的开发无论其处于何种目的。都是应该的。拿  Intel 来说吧,即使 Intel 在过去的一年贡献率达到 13%,但相比于它的营收,这点都是微不足道的。

开源固然感激商业公司的赞助,但是反过来,商业公司更应该感激开源能够让他们有机会赞助,并赚取利润。

新的开发者

像很多的社区一样,或者更大范围的道理,很多人是浅尝辄止,从 kernel 的历史来看,在每个版本都会有新人提交那么一个或几个  patch,然后绝大多数人都离开了,只有少部分人留下来。目前社区的贡献者人数是:4,319,而其中过去一年中的新人有:1,670 位。另外,新人们所提交的  patch 均是设备驱动,按照数量排名依次是:网络驱动、文档、显卡驱动、USB 驱动、和声音子系统。

这样我们可以有一个直观的推论,那就是能上手内核开发的,并没有传说中的那么难,更难的在于坚持下来一直去做。当然,这一点,有商业公司的支撑会好很多。

谁在做着 Review 代码的工作?

到现在你是不是还没有看到 Linus Torvalds 的名字?

Linux  作为***的开源项目之一,不是随便的无章法的,每一个补丁并非是直接就能进入主干的,而是要经过很多个子系统的。而每个子系统都是有对应的维护人员的,这些维护人员要审核人们的提交。每个补丁经过这些维护者审核之后,都会加上  “Signed-off-by”,这意味着这个补丁可以进入内核。分析内核代码时,关注 “Signed-off-by”,你就能明白都有谁是内核的守护者。

没错,Linus Torvalds 现在就是其中之一,由他本人 “Signed-off-by” 的补丁在过去的一年中有 207,占总共的  0.3%。

Linux 在 26 年以来所学到的

很少有开发项目能够拥有这么久的历史,大多数的项目在经历了如此长的历史之后,都会有“稳定状态”这样感觉,会有日薄西山的感觉。但是 Linux  内核没有这样,26 年了,它依然保持活力和旺盛的生命力。是的,有很多的学术研究 Linux  社区的成功之处,但是在我们彻底的将它搞明白之前,我们先总结下我们的教训:

  • 短的开发周期真的很重要。

  • 流程的可扩展性需要一个分布式的、层级的开发模式

  • 工具很关键

  • 强烈的共识导向模式非常重要。要作为一般规则。

  • 内核还有一个相关的因素是“无回归”规则。

  • 企业的参与在过程中蛮重要。

  • 项目内部不应有边界。

以上这 7 点,对于任何的大型开源都有重要的参考价值。26  年,内核用实际行动告诉我们,持续、合作的努力能带来巨大的共享资源,这本身没有任何一家单独的公司可以做得到。

感谢各位的阅读!关于“2017版Linux内核开发报告的示例分析”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI