fbpx

Quoi de neuf dans le noyau Linux?

Quoi de neuf dans le noyau Linux?

Quoi de neuf dans le noyau Linux?

 

Après toutes ces années, les principaux développeurs de Linux continuent d’innover. Les nouvelles versions seront plus rapides et plus stables.

Linux exécute à peu près tout : les 500 des 500 superordinateurs les plus rapides au monde ; la plupart du cloud public, même sur Microsoft Azure ; et 74 % des smartphones . En effet, grâce à Android, Linux est le système d’exploitation le plus populaire pour les utilisateurs finaux, devançant Windows de 4 % (39 % contre 35 %).

Alors, où va Linux ensuite ? Après avoir couvert Linux pendant presque toutes les 29 années de son histoire et connaissant à peu près n’importe qui dans les cercles de développement Linux, jusqu’à et y compris Linus Torvalds, je pense avoir une idée.

Améliorations récentes du noyau Linux

La plus grande amélioration récente – et rien d’autre n’est même proche – est que Linux deviendra désormais la plate-forme des réseaux privés virtuels (VPN). Alors que Linux, grâce en grande partie à OpenVPN , est depuis longtemps un acteur VPN important, l’ajout de WireGuard , une approche révolutionnaire des VPN, change tout.

Torvalds aime vraiment, vraiment WireGuard : « Puis-je encore une fois déclarer mon amour pour lui et espérer qu’il sera bientôt fusionné ? » il a écrit. Ce que Linus veut, Linus l’obtient. Wireguard a été fusionné avec le noyau Linux 5.6 en mars 2020.

Pourquoi est-ce si important ? WireGuard a une qualité rare dans un programme de sécurité : son code est propre et simple. Il est également livré avec une prise en charge de la technologie de cryptographie de pointe pour le cadre de protocole Noise , Curve25519 , ChaCha20 , Poly1305 , BLAKE2 , SipHash24 et HKDF.

Ce qui est encore plus important pour les utilisateurs, c’est qu’il est beaucoup plus rapide que ses rivaux. Les benchmarks ont montré que WireGuard est plus de deux fois plus rapide qu’OpenVPN . Il est également multiplateforme. Ainsi, bien que vous puissiez exécuter sur un serveur Linux, vos clients peuvent être sur Windows, macOS, BSD, iOS, Android et, bien sûr, sur le bureau Linux.

 

« Rust est complètement sécurisé pour la mémoire. »

Ryan LevickDéfenseur principal des développeurs cloud de Microsoft.

 

Le noyau Linux 5.6 se vantait également de plusieurs autres améliorations majeures. Tout d’abord, pour ceux qui exécutent encore des systèmes 32 bits, Linux a résolu son problème de « fin des temps ». Vous voyez, à 03:14:08 Greenwich Mean Time (GMT, alias Coordinated Universal Time) le mardi 19 janvier 2038, le monde se termine.

Ce qui se passera, c’est que la valeur du temps dans les systèmes d’exploitation basés sur Unix 32 bits, comme Linux et les anciennes versions de macOS, manquera de nombres 32 bits. Ils commenceraient alors à compter le temps à rebours avec des nombres négatifs. Et vous pensiez que le bug de l’an 2000 était effrayant !

Tout a commencé parce qu’Unix, le père de Linux, date le début du temps en secondes de l’Epoch : 00:00:00 GMT le 1er janvier 1970. Le problème était que, depuis qu’Unix a commencé comme système d’exploitation 32 bits, il a gardé l’heure sous la forme d’un seul nombre entier signé de 32 bits. Ce sont beaucoup de secondes, mais ce n’est pas suffisant. Le correctif modernise même Linux 32 bits pour utiliser des nombres 64 bits. Bien sûr, cela ne fait que retarder le problème jusqu’à 5 h 30 min 08 s GMT le dimanche 4 décembre 29 227 702 659. Je suis d’accord avec ça.

Android et Linux se synchronisent

Tous ceux qui prêtent attention aux systèmes d’exploitation savent qu’Android est une distribution Linux spécialisée dans les mobiles. Ce que l’on ne sait peut-être pas, c’est que, pendant de nombreuses années, Android était un fork Linux . Même maintenant, 10 ans après que les développeurs Android et Linux ont recommencé à travailler et à jouer ensemble, ils ne sont pas tout à fait sur la même longueur d’onde. Cela change.

Comme Jonathan Corbet , développeur et écrivain du noyau Linux, l’a déclaré dans son rapport annuel sur le noyau Linux , « le dernier noyau stable est en passe de faire partie de l’image système générique d’Android, puis ils suivront les mises à jour stables. Cela signifie qu’ils ‘ sommes beaucoup plus proches de l’état actuel de l’art. »

Cela peut ne pas sembler un gros problème pour vous, mais ça l’est.

Voici pourquoi. Aujourd’hui, avant que Linux ne se retrouve sur ce nouveau téléphone Android brillant dans votre main, il passe par trois étapes distinctes et chronophages. Tout d’abord, Google prend un noyau de support à long terme (LTS) et ajoute du code spécifique à Android pour créer le noyau commun Android . Ensuite, Google expédie ce noyau commun Android à un fabricant de systèmes sur puce (SoC), tel que Qualcomm . L’OEM personnalise ensuite le noyau avec un SoC et un chipset spécifiques. Enfin, le noyau SoC revient au fabricant du smartphone. Le fabricant, à son tour, ajoute son brassage maison, des pilotes propriétaires pour l’écran, l’appareil photo et le modem Wi-Fi/cellulaire. Ce noyau de périphérique est ce qu’il y a sur votre téléphone.

En cours de route, chaque téléphone récupère littéralement des millions de lignes de code du noyau qui ne font pas partie de la distribution standard. Il s’agit principalement de pilotes de périphériques. Chaque smartphone ou tablette Android est livré avec son propre mélange de pilotes. C’est pourquoi il est si difficile de créer une véritable distribution universelle de smartphones Android, telle que le système d’exploitation /e/ . Le résultat? Ce nouveau téléphone pointu dans votre poche a un noyau Linux vieux de 2 ans. C’est à cause de ces anciens noyaux que les noyaux Linux LTS sont désormais accompagnés de six ans de support .

Google et les fournisseurs ne sont pas plus désireux que vous de rétroporter les correctifs de sécurité vers de vieux noyaux poussiéreux. Ainsi, Google, avec la communauté des développeurs, essaie d’aligner les versions d’Android sur les principaux noyaux Linux actuels.

Cela va prendre un certain temps. Une paire de problèmes éternels d’Android – le refus des développeurs Linux de prendre en charge une interface binaire d’application stable (ABI) et le refus tout aussi ferme des fournisseurs de matériel d’ouvrir leurs pilotes – sont toujours avec nous pour le moment. Un ABI définit la manière dont un programme fonctionne avec le matériel lorsque vous ne savez pas comment l’utiliser au niveau du code d’application. Les développeurs open source veulent travailler au niveau de l’API, tandis que les fournisseurs veulent trop souvent conserver sur leurs appareils des données cachées mystérieuses qui ne peuvent être atteintes que par un ABI. Malgré cela, nous sommes enfin plus près d’accélérer l’intégration de Linux dans le pipeline de production d’Android. Cela signifie qu’Android sera plus sécurisé dès le départ.

eBPF : le pare-feu réseau devenu un débogueur Linux

Corbet a également parlé de l’essor continu du filtre de paquets Berkeley étendu (eBPF) en tant que puissant outil de débogage du noyau Linux. Comment cela pourrait-il arriver, demandez-vous? Comme ça.

Bien qu’eBPF, comme tout pare-feu, puisse capturer, filtrer et bloquer les paquets réseau, il le fait en exécutant du code d’espace utilisateur dans une machine virtuelle intégrée au noyau. Ah, vous commencez à voir.

Vous pouvez exécuter eBPF en réponse à des activités sur des points de trace , des kprobes et des événements perf . Cela vous permet de déboguer les problèmes du noyau et d’exécuter une analyse des performances. Mieux encore, puisque les programmes eBPF peuvent accéder aux structures de données du noyau, vous pouvez écrire, ajouter et tester un nouveau code de débogage sans recompiler le noyau. C’est un gain de temps important pour les développeurs occupés. Désormais, les administrateurs système et les programmeurs extérieurs au cercle restreint du noyau Linux commencent à utiliser la puissance d’eBPF.

Rust devient le deuxième langage de Linux

Depuis le premier jour, si vous vouliez développer dans le noyau Linux, ou tout ce qui s’en rapprochait, vous deviez le faire en C. En effet, vous pourriez dire que Linux est la raison pour laquelle C reste un langage populaire. Plus maintenant.

Lors de la conférence virtuelle des plombiers Linux 2020, où les meilleurs développeurs du noyau Linux ont discuté de l’avenir de Linux, ils ont parlé de l’introduction de Rust comme deuxième langage du noyau . Rust est un langage système de haut niveau sponsorisé par Mozilla , l’organisation mère de Firefox. Croyez-le ou non, cette notion reçoit un large soutien. Torvalds lui-même est sûr que Linux ne finira pas par être écrit en Rust. Mais après, ce n’est pas le but. Personne ne va réécrire les 25 millions de lignes de C du noyau dans Rust.

Dirigés par Josh Triplett, responsable du langage Rust, et Nick Desaulniers, ingénieur Google, ils ont proposé d’utiliser le langage Rust au niveau du système dans le noyau. Pourquoi? Parce que c’est beaucoup plus sûr que C, surtout quand il s’agit de gérer la mémoire.

Comme Ryan Levick, l’un des principaux défenseurs des développeurs cloud de Microsoft, l’a expliqué, « Rust est totalement sécurisé pour la mémoire ». Étant donné qu’environ les deux tiers des problèmes de sécurité peuvent être attribués à une mauvaise gestion de la mémoire, il s’agit d’une amélioration majeure. De plus, « Rust prévient ces problèmes généralement sans ajouter de surcharge d’exécution », a-t-il déclaré.

Torvalds en voit les avantages . Bien qu’il encourage une approche lente mais régulière de l’introduction de Rust dans Linux , il a également déclaré que l’utilisation d’interfaces Rust pour les pilotes et d’autres programmes de noyau non essentiels était logique : « Je suis convaincu que cela va arriver. Ce n’est peut-être pas Rust, mais il va arriver que nous ayons différents modèles pour écrire ce genre de choses, et C ne sera pas le seul. »

Alors que les développeurs du noyau central progressent lentement, d’autres développeurs de distribution Linux n’ont pas perdu de temps pour adopter Rust. Amazon Web Services (AWS) a annoncé que son nouveau Bottlerocket Linux pour conteneurs est en grande partie écrit en Rust.

Comme Microsoft et Firefox, pour n’en nommer que deux autres intégrant Rust dans leurs plans de développement, AWS aime Rust pour ses fonctionnalités de sécurité mémoire. Samartha Chandrashekar, chef de produit AWS, a déclaré que cela « contribue à garantir la sécurité des threads et à prévenir les erreurs liées à la mémoire, telles que les débordements de mémoire tampon qui peuvent entraîner des vulnérabilités de sécurité ».

Pour l’avenir, il est clair que Rust jouera bientôt un rôle majeur dans le développement du noyau Linux et de la distribution. Qui aurait jamais pensé que C serait déplacé, même un peu, dans ces cercles de programmation ?

Noyau Linux 6.0 et au-delà

D’ici la fin de l’année, Linux 6.0 fera son apparition. Mais ne soyez pas trop excité par le nombre. Comme Torvalds l’a dit à propos de la version 5.0, « Je voudrais souligner (encore une fois) que nous ne faisons pas de versions basées sur les fonctionnalités, et que » 5.0 « ne signifie rien de plus que le fait que les numéros 4.x ont commencé devenir assez grand pour que je sois à court de doigts et d’orteils. »

À l’avenir, la plupart de Linux 6, comme presque toutes les versions de Linux, consistera en des pilotes matériels nouveaux et améliorés. Un changement éventuel, cependant, sera remarqué par tout le monde : Linux prendra enfin en charge le jeu d’instructions AMD et Intel FSGSBASE . OK, à moins que vous ne soyez un développeur sérieux, je viens de vous perdre. Voici la chose importante à propos de Linux prenant en charge ce jeu d’instructions de puce : votre machine fonctionnera beaucoup plus rapidement.

Combien plus rapide? Les premiers benchmarks avec la première version bêta de Linux 5.9 montrent des améliorations significatives des E/S. Avec Redis, le magasin de structure de données open source en mémoire, qui est souvent utilisé comme base de données, les performances ont augmenté de plus de 50 %. Ce n’est pas trop minable!

Donc, tout se résume à Linux qui continue d’améliorer à la fois sa vitesse et sa sécurité. Et, aussi étonnant que cela puisse paraître, Linux continue d’étendre ses marchés, grâce à son VPN WireGuard nouvellement intégré.

Qui sait? Peut-être que 2021 sera l’année du bureau Linux. Après tout, 2020 a été l’année de Linux sur le bureau Windows.

Quoi de neuf dans Linux : leçons pour les dirigeants

  • Les systèmes fonctionnant sur d’anciens logiciels ne fonctionnent probablement pas aussi bien qu’ils le devraient.
  • Les nouvelles générations de logiciels, y compris certainement Linux, créent de nouvelles opportunités technologiques et commerciales.
  • Les systèmes d’exploitation ne sont pas une technologie complètement mature ; il y a encore de grosses améliorations à faire.

Référence: https://www.hpe.com/us/en/insights/articles/what-s-new-in-the-linux-kernel-2009.html