2020/08/25, Linux Foundation [2020 Linux Kernel History Report](https://www.linuxfoundation.org/blog/2020/08/download-the -2020-linux-kernel-history-report /) a été publié. Il résume les 29 ans d'histoire du noyau Linux, de sa première version le 17 septembre 1991 à Linux 5.8, sortie le 2 août 2020.
Alors je l'ai lu en gros en diagonale. Veuillez faire quelque chose à propos du PDF que vous ne pouvez pas copier et coller.
Linux Kernel History Report
Ce rapport explore toute l'histoire de Linux. De la première version du noyau le 17 septembre 1991 au 2 août 2020, lorsque le dernier noyau 5.8 a été publié, BitKeeper et git ont plus d'un million d'histoires de commit. ..
Kernel Archeology
La première version ne contenait que 88 fichiers, 10 000 lignes et 2964 jetons.
Bien qu'il y ait très peu de traces de l'original, il y a encore un premier commit par Linus lui-même le 17/09/199 1 dans vsprintf.c
.
Plus de la moitié du noyau Linux 5.8 est du code écrit au cours des sept dernières années.
Impact of Development Process Best Practices
Pour promouvoir les meilleures pratiques de développement, CII a créé le système de badge des meilleures pratiques (https://github.com/coreinfrastructure/best-practices-badge) en 2015. Linux Core a été l'un des premiers projets à obtenir ce badge, et en juin 2020, il a obtenu le titre le plus élevé, le badge d'or.
Cela dit, mais comme CII est une organisation au sein de la Fondation Linux, je ne peux pas m'empêcher de me sentir comme une pompe à allumettes.
Adoption of Maintainer Hierarchy
Le fichier «MAINTAINERS» a été validé pour la première fois à 1.3.68 en 1996. Avec seulement 107 lignes, il n'y a que 3 mainteneurs. Alan Cox, Jon Naylor et Linus Torvalds.
MAINTAINERS
REST:
P: Linus Torvalds
S: Buried alive in email
Puisque les premières discussions sur le développement du noyau Linux ont été faites dans plusieurs ML, les discussions avant 1997 ne sont que fragmentaires. Certains des éléments collectés sont publiés sur http://lkml.iu.edu/hypermail/linux/, mais ils sont également manquants. Si quelqu'un a un journal de cette époque, veuillez le fournir.
À son tour, le 5.8 «MAINTAINERS» a 19033 lignes et 1501 mainteneurs sont répertoriés.
MAINTAINERS
THE REST
M: Linus Torvalds <[email protected]>
L: [email protected]
S: Buried alive in reporters
Q: http://patchwork.kernel.org/project/LKML/list/
T: git git://git.kernel.org/pub/scm/linux/
kernel/git/torvalds/linux.git
F: *
F: */
Version Control Systems
Avant BitKeeper, il n'était pas très clair qui a contribué et dans quelle mesure. Une véritable histoire a commencé vers 2002, et avant cela, elle est déduite de l'histoire laissée dans chaque document.
En 2005 diverses choses BitKeeper est devenu inutilisable, donc Linus a créé un Git à partir de zéro et y est allé. Migré.
Le recrutement de développeurs est un défi éternel, et la Linux Foundation continue de soutenir les programmes Outreachy et LKMP. Nous avons également fait des efforts pour augmenter le nombre de cotisants.
Removing Unused Code
Les efforts pour supprimer le code inutilisé sont en cours, par exemple, 4.17 en 2018 a supprimé 18000 lignes de 8 architectures.
Il semble que ce soit le cas, mais ce n'est qu'un petit montant par rapport au montant de l'augmentation.
Highly Diversified Corporate Contributors
Le noyau Linux a été fourni par de nombreuses entreprises. De 2007 à 2019, il y a eu 780048 engagements de 1730 entreprises. Les 20 premières entreprises représentent 68%.
Au cours des 10 dernières années, environ 400 entreprises ont contribué chaque année.
Release Model with Predictable Release Cycle Cadence
Il existe quatre types de modèles de version Linux. ・ Prepatch (RC) ・ Ligne principale ・ Stable ・ Stable à long terme
Le dernier noyau peut être trouvé sur https://www.kernel.org/.
Il y a eu beaucoup de débats sur le cycle de publication, mais depuis 2011, un modèle de publication généralement fonctionnel a été construit.
En commençant par une fenêtre de fusion
de deux semaines, de nouvelles fonctionnalités seront testées et introduites dans le référentiel git.
Lorsque la balise «RC1» est ajoutée, elle entre dans un cycle de test d'intégration, de débogage et d'optimisation, et la «RC» est mise à jour chaque semaine jusqu'à ce que la qualité et la stabilité soient assurées.
Lorsque de nouvelles fonctionnalités sont publiées, la prochaine fenêtre de fusion
redémarrera.
Improving Automated Testing the Kernel
Les tests du noyau sont basés sur les efforts de la communauté. Sparse, Smatch, coccicheck fonctionnent en tant que test automatique BOT, et Trinity, syzbot fonctionnent en tant que test de décoloration. De nombreux bugs ont été découverts par ces derniers.
Stable Release Process
La version stable est publiée environ une fois par semaine.
En prenant Linux 5.7.9 comme exemple, la version candidate RC
est d'abord annoncée à ML par e-mail.
Il y a 166 correctifs dans cette RF, tous notifiés individuellement dans ML.
Chaque développeur et outil de test automatisé teste sa méthode de publication et renvoie les résultats dans un e-mail.
S'il y a un problème avec RC, RC2, RC3 et ses successeurs seront créés, mais RC2 est rarement créé.
Automatic Build BOT construit pour plus de 30 architectures. La version stable se construit pour 31 architectures et 56 configurations. Et de nombreux tests tels que LKFT, LTP, Linux Kernel Selftests, Linux Perf sont effectués. Il sera publié lorsque le test sera complètement terminé et la notification sera envoyée à ML.
Longterm Release Kernels
Avec l'introduction du support à long terme, Linux est devenu encore plus populaire dans les produits embarqués. Des distributions telles que SUSE, Ubuntu et Red Hat ont été les premières à introduire ce concept et à prouver son utilité dans le noyau.
Les bogues trouvés dans le noyau stable seront d'abord appliqués à la version stable, mais seront rétroportés s'il est déterminé qu'il est applicable au LTS. Le jugement quant à savoir si la version stable du correctif peut être appliquée à LTS est amélioré d'année en année en raison du développement d'outils d'apprentissage automatique par Sasha Levin. Il y a eu 18668 backports en 2019, plus que les changements apportés au noyau stable il y a 15 ans.
Certains marchés recherchent un support SLTS à ultra-long terme encore plus long que LTS, et certains développeurs ont décidé de prendre en charge Linux 4.4 et 4.19 en tant que SLTS.
Conclusion
Les noyaux Linux actuels sont utilisés dans tous les domaines de la sécurité et de la sécurité, des appareils médicaux aux vaisseaux spatiaux. L'amélioration de l'infrastructure pour assurer une sécurité et une sécurité appropriées avant d'utiliser Linux est l'un des prochains défis majeurs.
Le noyau Linux a une base solide pour continuer à être le leader mondial en créant les meilleures pratiques pour améliorer l'ensemble de l'industrie OSS.
Thanks
Je suis hors de vue.
Linux est une partie indispensable du monde, mais c'était un matériau intéressant qui donne une idée approximative de sa trajectoire de croissance. Le nombre de committers, le nombre de commits, la quantité de code et l'augmentation spectaculaire de ces dernières années montrent clairement l'importance de ce projet.
Cependant, il n'y a que du matériel qui est proche du public, et il n'y a que du contenu qui peut être rendu public. Retour Side Historique Ce serait amusant d'avoir un rapport sur History.
Récemment, dans le cloud sans serveur, l'existence d'un système d'exploitation de bas niveau tente de le cacher dans les coulisses, mais dès que quelque chose se produit, je dois creuser des commandes et des journaux, j'ai donc besoin de connaissances sur Linux après tout. Est toujours le même. Le monde où vous n'aurez pas à vous soucier de l'existence et du type d'OS viendra-t-il vraiment un jour?
Recommended Posts