


Une brève discussion sur neuf leçons tirées de 25 ans d'expérience dans le développement du noyau Linux
Texte original : 9 leçons de 25 ans de développement du noyau Linux
Par Greg Kroah-Hartman
Traduction : Yan Jinghan
La communauté du noyau Linux a célébré son vingt-cinquième anniversaire en 2016, et de nombreuses personnes sont venues nous demander le secret de la longévité et du succès du projet. J'ai l'habitude de rire et de dire en plaisantant que je n'avais vraiment aucune idée que 25 ans s'étaient écoulés. Le projet a toujours été confronté à des désaccords et à des défis. Mais sérieusement, notre capacité à y parvenir dépend beaucoup de la capacité de la communauté à réfléchir et à changer.
Il y a environ 16 ans, la plupart des développeurs du noyau ne s'étaient jamais rencontrés, nous communiquions uniquement par e-mail, alors Ted T'so a eu l'idée d'un sommet du noyau. Désormais, chaque année, les développeurs du noyau se réunissent pour résoudre des problèmes techniques et, plus important encore, passer en revue ce que nous avons bien fait et ce que nous n'avons pas bien fait au cours de l'année écoulée. Les développeurs peuvent discuter ouvertement de la manière dont ils communiquent entre eux et du fonctionnement du processus de développement. Ensuite, nous améliorerons le processus, nous développerons de nouveaux outils comme Git et continuerons à changer notre façon de collaborer.
Bien que nous n'ayons pas entièrement compris toutes les raisons clés du succès du noyau Linux, certaines expériences méritent encore d'être partagées.
1. Un cycle de publication plus court est important
Au début du projet Linux, chaque version majeure du noyau mettait plusieurs années à être publiée, ce qui signifiait que les utilisateurs devaient attendre longtemps pour profiter des nouvelles fonctionnalités, ce qui était assez frustrant pour les utilisateurs et les revendeurs. Et, plus important encore, un cycle aussi long signifie qu’une grande quantité de code doit être intégrée en même temps. Consolider autant de code en une seule version est stressant.
Des cycles plus courts peuvent résoudre tous ces problèmes. Le nouveau code peut être incorporé dans la version stable en moins de temps. L'intégration d'un nouveau code sur une version de base presque stable permet d'introduire des changements fondamentaux avec un impact minimal sur le système. Les développeurs savent que s'ils manquent ce cycle de publication, il y en aura un autre dans deux mois, ils fusionnent donc rarement le code prématurément.
2. L'expansion des processus nécessite un modèle de développement distribué en couches
Il y a longtemps, toutes les demandes de modification étaient adressées directement à Linus Torvalds, mais cela s'est vite avéré inapproprié car personne ne pouvait pleinement comprendre un projet aussi complexe que le noyau du système d'exploitation. Très tôt, les responsables de différents domaines du noyau ont eu l'idée d'attribuer des parties du noyau à des personnes familiarisées avec ce domaine. Par exemple, les réseaux, le sans fil, les sous-systèmes de pilotes comme PCI ou USB, ou les systèmes de fichiers comme ext2 ou vfat. Cela s'étend ensuite à des centaines de responsables responsables de la révision et de l'intégration du code, permettant d'inclure des milliers de modifications dans chaque version sans sacrifier la qualité du produit.
3. L'importance des outils
Le développement du noyau a tenté d'élargir le champ d'action des développeurs jusqu'à l'émergence de BitKeeper, un système de gestion de code source. Les pratiques de la communauté ont changé presque du jour au lendemain, et l'émergence de Git a apporté un autre bond en avant. Sans les bons outils, un projet tel que le noyau ne fonctionnera pas correctement et s'effondrera sous son propre poids.
4. Un modèle solide d'orientation de l'opinion publique est très important
De manière générale, si un développeur senior rejette une modification soumise, la modification ne sera pas fusionnée. Il est très frustrant lorsqu'un développeur découvre que le code qu'il a soumis il y a des mois a été rejeté sur la liste de diffusion. Mais cela garantit également que le développement du noyau peut s'adapter à un grand nombre d'utilisateurs et de problèmes. Aucune communauté d'utilisateurs ne peut apporter des changements aux dépens des autres groupes. Nous disposons d’une base de code qui peut tout prendre en charge, des microsystèmes aux superordinateurs, et qui peut être appliquée à de nombreux scénarios.
5. Une règle stricte de « non-retour » est également importante
Il y a environ dix ans, la communauté de développement du noyau avait promis que si un noyau donné fonctionnait correctement dans un environnement spécifique, toutes les versions ultérieures du noyau fonctionneraient également correctement dans cet environnement. Si la communauté découvre qu’un changement a causé d’autres problèmes, elle résoudra rapidement le problème. Cette règle promet aux utilisateurs que les mises à niveau du système ne détruiront pas leurs systèmes d'origine. Par conséquent, les responsables sont prêts à conserver ce noyau tout en développant de nouvelles fonctionnalités.
6. Il est crucial que les entreprises participent au processus de développement, mais aucune entreprise ne peut dominer le développement du noyau
Depuis la sortie de la version 3.18 du noyau en décembre 2014, environ 5 062 développeurs individuels issus de près de 500 entreprises ont contribué au noyau Linux. La plupart des développeurs sont payés pour leur travail et les changements qu’ils apportent servent l’entreprise pour laquelle ils travaillent. Cependant, bien que n'importe quelle entreprise puisse améliorer le noyau en fonction de besoins spécifiques, aucune entreprise ne peut conduire le développement à faire des choses qui nuisent aux autres ou limitent les fonctionnalités du noyau.
7. Il ne devrait y avoir aucune frontière interne dans le projet
Les développeurs du noyau doivent se concentrer sur des parties spécifiques du noyau, mais tout développeur peut apporter des modifications à n'importe quelle partie du noyau tant que la modification est justifiée. En conséquence, les problèmes sont résolus lorsqu’ils surviennent plutôt que évités. Les développeurs ont des opinions nombreuses et variées sur le noyau dans son ensemble, et même les responsables les plus obstinés ne peuvent pas indéfiniment mettre de côté les améliorations nécessaires dans un sous-système donné.
8. Les fonctions importantes démarrent petit à petit
Le noyau de la version 0.01 d'origine ne contenait que 10 000 lignes de code ; désormais, plus de 10 000 lignes sont ajoutées tous les deux jours. Certaines petites fonctionnalités de base que les développeurs ajoutent maintenant pourraient devenir des sous-systèmes importants à l’avenir.
9. Pour résumer, les 25 ans d'histoire du développement du noyau montrent qu'une coopération continue peut apporter des ressources communes, qui ne peuvent pas être développées par un seul groupe
Depuis 2005, environ 14 000 développeurs individuels issus de plus de 1 300 entreprises ont contribué au noyau. Par conséquent, le noyau Linux est devenu une ressource publique à grande échelle grâce aux efforts de nombreuses entreprises qui se font une concurrence féroce.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Les principales raisons pour lesquelles vous ne pouvez pas vous connecter à MySQL en tant que racines sont des problèmes d'autorisation, des erreurs de fichier de configuration, des problèmes de mot de passe incohérents, des problèmes de fichiers de socket ou une interception de pare-feu. La solution comprend: vérifiez si le paramètre Bind-Address dans le fichier de configuration est configuré correctement. Vérifiez si les autorisations de l'utilisateur racine ont été modifiées ou supprimées et réinitialisées. Vérifiez que le mot de passe est précis, y compris les cas et les caractères spéciaux. Vérifiez les paramètres et les chemins d'autorisation du fichier de socket. Vérifiez que le pare-feu bloque les connexions au serveur MySQL.

Oui, MySQL peut être installé sur Windows 7, et bien que Microsoft ait cessé de prendre en charge Windows 7, MySQL est toujours compatible avec lui. Cependant, les points suivants doivent être notés lors du processus d'installation: téléchargez le programme d'installation MySQL pour Windows. Sélectionnez la version appropriée de MySQL (communauté ou entreprise). Sélectionnez le répertoire d'installation et le jeu de caractères appropriés pendant le processus d'installation. Définissez le mot de passe de l'utilisateur racine et gardez-le correctement. Connectez-vous à la base de données pour les tests. Notez les problèmes de compatibilité et de sécurité sur Windows 7, et il est recommandé de passer à un système d'exploitation pris en charge.

MySQL et MARIADB peuvent coexister, mais doivent être configurés avec prudence. La clé consiste à allouer différents numéros de port et répertoires de données à chaque base de données et ajuster les paramètres tels que l'allocation de mémoire et la taille du cache. La mise en commun de la connexion, la configuration des applications et les différences de version doivent également être prises en compte et doivent être soigneusement testées et planifiées pour éviter les pièges. L'exécution de deux bases de données simultanément peut entraîner des problèmes de performances dans les situations où les ressources sont limitées.

La solution à l'erreur d'installation de MySQL est: 1. Vérifiez soigneusement l'environnement système pour vous assurer que les exigences de la bibliothèque de dépendance MySQL sont satisfaites. Différents systèmes d'exploitation et exigences de version sont différents; 2. Lisez soigneusement le message d'erreur et prenez des mesures correspondantes en fonction des invites (telles que les fichiers de bibliothèque manquants ou les autorisations insuffisantes), telles que l'installation de dépendances ou l'utilisation de commandes sudo; 3. Si nécessaire, essayez d'installer le code source et vérifiez soigneusement le journal de compilation, mais cela nécessite une certaine quantité de connaissances et d'expérience Linux. La clé pour finalement résoudre le problème est de vérifier soigneusement l'environnement du système et les informations d'erreur et de se référer aux documents officiels.

Il existe de nombreuses raisons pour lesquelles la startup MySQL échoue, et elle peut être diagnostiquée en vérifiant le journal des erreurs. Les causes courantes incluent les conflits de port (vérifier l'occupation du port et la configuration de modification), les problèmes d'autorisation (vérifier le service exécutant les autorisations des utilisateurs), les erreurs de fichier de configuration (vérifier les paramètres des paramètres), la corruption du répertoire de données (restaurer les données ou reconstruire l'espace de la table), les problèmes d'espace de la table InNODB (vérifier les fichiers IBDATA1), la défaillance du chargement du plug-in (vérification du journal des erreurs). Lors de la résolution de problèmes, vous devez les analyser en fonction du journal d'erreur, trouver la cause profonde du problème et développer l'habitude de sauvegarder régulièrement les données pour prévenir et résoudre des problèmes.

MySQL a une version communautaire gratuite et une version d'entreprise payante. La version communautaire peut être utilisée et modifiée gratuitement, mais le support est limité et convient aux applications avec des exigences de stabilité faibles et des capacités techniques solides. L'Enterprise Edition fournit une prise en charge commerciale complète pour les applications qui nécessitent une base de données stable, fiable et haute performance et disposées à payer pour le soutien. Les facteurs pris en compte lors du choix d'une version comprennent la criticité des applications, la budgétisation et les compétences techniques. Il n'y a pas d'option parfaite, seulement l'option la plus appropriée, et vous devez choisir soigneusement en fonction de la situation spécifique.

MySQL peut gérer plusieurs connexions simultanées et utiliser le multi-threading / multi-processus pour attribuer des environnements d'exécution indépendants à chaque demande client pour s'assurer qu'ils ne sont pas dérangés. Cependant, le nombre de connexions simultanées est affectée par les ressources système, la configuration MySQL, les performances de requête, le moteur de stockage et l'environnement réseau. L'optimisation nécessite la prise en compte de nombreux facteurs tels que le niveau de code (rédaction de SQL efficace), le niveau de configuration (ajustement max_connections), niveau matériel (amélioration de la configuration du serveur).

Les principales raisons de la défaillance de l'installation de MySQL sont les suivantes: 1. Problèmes d'autorisation, vous devez s'exécuter en tant qu'administrateur ou utiliser la commande sudo; 2. Des dépendances sont manquantes et vous devez installer des packages de développement pertinents; 3. Conflits du port, vous devez fermer le programme qui occupe le port 3306 ou modifier le fichier de configuration; 4. Le package d'installation est corrompu, vous devez télécharger et vérifier l'intégrité; 5. La variable d'environnement est mal configurée et les variables d'environnement doivent être correctement configurées en fonction du système d'exploitation. Résolvez ces problèmes et vérifiez soigneusement chaque étape pour installer avec succès MySQL.
