Linux Kernel 开发报告 25 周年版

Linux基金会发布 2016 年度 Linux 内核开发报告,这次恰逢 Linux 内核 25 周年(腾云科技ty300.com),所以相比往年又更多的回顾性内容,值得一读。

Linux 内核开发报告 2016 版

一些有趣的信息:

自 3.18 内核以来,合并自Linux Kernel内核的新功能覆盖面更为广泛,且涉及安全性的新功能越来越多

4.0 系列的引入仅仅是由于 Linus (基础教程qkxue.net)觉得小版本号已经超越正常人手指和脚趾数量的总和了。每一个内核版本发布都是传统意义上的大版本发布,编号方式已经不再重要了

发布周期比较稳定的为 9 周,偶尔的 10 周也主要是由于诸如 Linus 休假或者公共假期等外部因素

尽管 4.6 版本的 13517 个变化相当大,但相比 3.5 版本的 13722 还是差了一点点

内核 4.9 版本将是继 4.4 之后的下一个长期支持版本

截止 4.7 版本,Linux 内核包含有 21,724,632 行代码 54,391 个文件

版本 4.2 的开发有史上最多来自商业公司的支持,有 251 家不同企业贡献为其提交了代码

独立开发者贡献的代码提交数量并不多,自 2.6.11 版本以来,前 30 名独立开发者加起来也仅占总提交数的 16%

来自公司资助的开发者提交的数量占到总数的 80%,而独立开发者数量已经下降到 7.7%。导致这种情况的原因恐怕是内核开发者短缺,有能力的都不愁找不到工作。

Intel 为 Linux 内核内核开发引入了最多的新人,达 205 人

长达 25 年的经验教训一:快速发布,短发布周期很重要

长达 25 年的经验教训二:流程的扩展性需要分布式层级状的开发模式,全靠 Linus 一个会死人,职责分工明确才能提高效率

长达 25 年的经验教训三:工具很重要,迁移到 BitKeeper 颠覆性的改善了工作方式,而至 Git 的迁移则进一步提升了工作效率

长达 25 年的经验教训四:认同性原则很重要。若某个改动有一个有经验受尊敬的开发者反对,那么便不会合并。这保证了不会有任何变动会以牺牲某个用户群体为代价。

长达 25 年的经验教训五:没有 Regression 原则很重要。尽管偶尔实践的不完美,但是保证了用户不会为内核升级而特别担忧。

转自:勤快学QKXue.NET

时间: 2024-10-25 18:21:40

Linux Kernel 开发报告 25 周年版的相关文章

如何进行Linux Kernel 开发

转自:http://www.cppblog.com/flyonok/archive/2011/04/15/144316.html 如何进行Linux Kernel 开发? (Take 3) 译者序:这是一篇很重要的文档,它介绍了内核开发的方方面面.这篇文档已被加入到内核源码树的Documentation文档里(名字为HOWTO),你可以在最新的内核树里找到它.尽管已经有网友翻译过这篇文档,但是我还是决定自己再翻译一遍.翻译完之后,我的感触是如果依靠翻译来进行学习,速度太慢了.以后的技术文档直接看

How to: Compile Linux kernel 2.6

  Compiling custom kernel has its own advantages and disadvantages. However, new Linux user / admin find it difficult to compile Linux kernel. Compiling kernel needs to understand few things and then just type couple of commands. This step by step ho

Linux内核开发进阶书籍推荐(不适合初学者)

Linux内核开发进阶书籍推荐(不适合初学者) 很早之前就想写一篇文章总结一下Linux Kernel开发的相关资料,项目的原因,再加上家里的一些事情,一直没能找到闲暇,今天终于有些时间,希望可以完成这篇文章吧.首先需要说明的是不是所有的人都需要搞内核开发,因为据笔者了解,大部分的软件工程师的工作都在用户态开发,学习内核开发事倍功半,没什么实际意义,另外,初学编程的人也不太适合搞内核开发,因为信息量相对比较大,而且枯燥晦涩,很容易让初学者还没有入门,就已经放弃了,再有就是不想投入时间,总是试图走

如何参与Linux内核开发(转)

本文来源于linux内核代码的Document文件夹下的Hoto文件.Chinese translated version of Documentation/HOWTO If you have any comment or update to the content, please contact theoriginal document maintainer directly.  However, if you have a problemcommunicating in English yo

Linux系统开发6 信号

[本文谢绝转载,原文来自http://990487026.blog.51cto.com] <大纲> Linux系统开发6 信号 linux系统有64种信号 signal man文档 终端按键信号 ctrl +c SIGIN ctrl +z SIGTSTP ctrl +\ SIGQUIT 硬件产生信号 浮点数例外信号  访问非法内存 kill()函数 信号与权限 kill()函数的pid 与返回值 信号产生原因 raise() 信号 abort() 信号 alarm() 信号 收到信号的默认操作

Linux后台开发常用工具

https://files-cdn.cnblogs.com/files/aquester/Linux后台开发常用工具.pdf 目录 目录 1 1. 前言 3 2. 脚本类工具 3 2.1. sed命令-字符串文本操作 3 2.2. sed和awk使用外部变量 4 2.3. awk给外部变量赋值 4 3. 设备类工具 5 3.1. 查看网卡型号 5 3.2. dmidecode查看所有硬件信息工具 5 3.3. lscpu查看cpu工具 5 3.4. lspci查看主板工具 5 3.5. lssc

实例:编译Linux内核3.18.25概要

前提: 将CentOS 7上3.10.0-229.el7.x86_64重新编译一个3.18.25内核 自编译安装,按照自己的硬件平台架构编译,能最适合硬件主机的性能 且按照需要编译模块,可以选择自己需要的包编译 [[email protected] tmp]# uname  -a 一.编译前准备工作 1.宿主机系统 本次编译宿主机:VMware Workstation Pro12 上的CentOS 7.0操作系统 2.开发环境(开发工具,开发库),头文件 [[email protected] y

Linux Kernel - Debug Guide (Linux内核调试指南 )

http://blog.csdn.net/blizmax6/article/details/6747601 linux内核调试指南 一些前言 作者前言 知识从哪里来 为什么撰写本文档 为什么需要汇编级调试 ***第一部分:基础知识*** 总纲:内核世界的陷阱 源码阅读的陷阱 代码调试的陷阱 原理理解的陷阱 建立调试环境 发行版的选择和安装 安装交叉编译工具 bin工具集的使用 qemu的使用 initrd.img的原理与制作 x86虚拟调试环境的建立 arm虚拟调试环境的建立 arm开发板调试环

Linux Kernel 4.7 RC2已发布

Linux内核(英语:Linux kernel),是一种计算机操作系统内核,以C语言和汇编语言写成,符合POSIX标准,以GNU通用公共许可证发布.Linux内核最早是由芬兰黑客林纳斯·托瓦兹为尝试在自己的英特尔x86架构计算机上提供自由免费的类Unix系统而开发的. Linus Torvalds于6月5号(星期天)宣布了Linux Kernel 4.7的第二个候选发布版本(rc2),而rc1的发布则是在5月29号那天,预计Linux Kernel 4.7会在7月的第二或第三周迎来稳定版.Lin