Linux 4.20 est sorti - ce qui a changé dans la nouvelle version du noyau

Nous avons déjà parlé des innovations apportées au noyau Linux 4.18 . Aujourd'hui, nous allons parler de ce qui a été introduit dans 4.20 et un bref examen de la prochaine version.

Avec un degré de probabilité élevé, il sera appelé "5,0".


/ photo de Gregory "Slobirdr" Smith CC BY-SA

La dernière version du noyau est sortie en décembre dernier. La mise à jour est disponible en téléchargement sur le site officiel . Cette version était le détenteur record du nombre de lignes de code ajoutées - leur nombre a augmenté de 354 000. D'autres n'ont été ajoutés que dans la version 4.13 de Linux (septembre 2017). Parmi les principales mises à jour : nouveaux pilotes, sécurité renforcée et changements dans l'utilisation des baies.

Nouveaux pilotes et nouveau matériel


Linux 4.20 a ajouté la prise en charge des processeurs hybrides AMD Picasso et Raven 2, des systèmes de puces Qualcomm Snapdragon 835 , ainsi que du processeur chinois Hygon Dhyana basé sur l'architecture AMD Zen. Cela augmentera le nombre de périphériques pouvant exécuter Linux.

Les travaux ont également commencé sur le code de l'architecture AMD Zen 2, mais de sérieux changements l'attendent dans les futures versions. Les modifications ont également affecté les puces Intel Island - les développeurs ont ajouté la prise en charge du contrôleur DSI et des fonctionnalités pour contrôler les modes d'alimentation du processeur.

Un code a été ajouté qui est chargé de travailler avec AMD Vega 20, bien qu'il continuera à être amélioré au moins jusqu'à la sortie du GPU (sa sortie est prévue pour le premier trimestre 2019 ).

Les modifications ont également affecté le pilote VKMS (Virtual Kernel Mode-Setting), qui avait été ajouté dans la version précédente du noyau. Il simule le périphérique de sortie virtuel le plus simple et est utilisé pour organiser le travail du serveur X ou de tout autre sous-système graphique sur des machines sans moniteur. En même temps, il offre la possibilité d'utiliser des GPU existants. Dans le noyau Linux 4.20, VKMS a reçu le support GEM et curseur.

En outre, le nouveau noyau a pu fonctionner avec les trackpad Apple Magic Trackpad 2 et les contrôleurs Xbox.

Modifications des tableaux


Les tableaux de longueur variable (VLA) ont été supprimés du noyau, dont la taille est déterminée au stade de l'exécution, plutôt que de compiler le code. Ils ont ralenti et pourraient affecter la sécurité du système d'exploitation. On a longtemps demandé à Linus Torvalds de se débarrasser de VLA, et il a lui-même activement critiqué la décision d'utiliser des tableaux de longueur variable. Dans le noyau 4.20, la plupart d'entre eux ont finalement été expulsés.

Une structure de données XArray a également été implémentée, qu'ils ont essayé de mettre en œuvre dès 4.17. Il s'agit d'un type de données abstrait qui se comporte comme un large éventail de pointeurs. Contrairement aux tableaux dynamiques , lorsque vous utilisez XArray, vous n'avez rien à changer dans l'unité de contrôle de la mémoire pour étendre la structure. Mais pour l'instant, seuls le cache de page du noyau et memremap sont en cours de traduction vers XArray .

Mises à jour de sécurité


Le chiffrement de bloc Speck a été supprimé de Linux 4.20, car il y avait des soupçons qu'il y avait des portes dérobées dans son implémentation. Ils ont également introduit la fonction STACKLEAK (pas en 4.19), qui protège les utilisateurs Linux de plusieurs types de vulnérabilités.

En particulier, il réduit la quantité d'informations utiles pour les attaquants provenant de la pile du noyau vers l'espace utilisateur. STACKLEAK bloque également un certain nombre d'attaques contre des variables non initialisées et propose des outils pour surveiller le "débordement" de la pile du noyau.

De retour sous Linux 4.20, ils ont ajouté le correctif STIBP (Single Thread Indirect Branch Predictors), qui protège contre les attaques de type Spectre. Ils visent la vulnérabilité matérielle des processeurs modernes associée à la mise en œuvre de l' informatique spéculative .

Ce que la communauté pense du noyau Linux 4.20


Les résidents de Hacker News notent que Linux a toujours eu des problèmes avec les pilotes et la quantité de matériel pris en charge. Les mises à jour 4.20 ont aidé à résoudre partiellement ce problème, élargissant la gamme d'architectures disponibles pour le travail. Cependant, un certain nombre d'utilisateurs s'inquiètent du fait qu'avec la transition vers un nouveau noyau, le système d'exploitation a commencé à fonctionner plus lentement.

La raison de la "régression" était un code supplémentaire pour se protéger contre Spectre. Le patch STIBP est activé par défaut et conduit à des «freins» sur les systèmes utilisant SMT / Hyper-Threading. Dans certains cas, les performances peuvent être réduites de 50%. Linus Torvalds a déjà soulevé la question du lancement d'une fonction à la demande de l'utilisateur, et pas automatiquement. Mais jusqu'à présent, rien n'a été fait.

Comme l'a noté balsoft dans les commentaires, la dégradation des performances Linux due à STIBP était la raison pour laquelle ce code a été supprimé des versions du noyau 4.19.4 et 4.14.83 . Par conséquent, il y a des raisons de croire qu'à l'avenir, les développeurs publieront le noyau 4.20 sans patch qui contrecarrera les attaques Spectre.


/ photo hackNY.org CC BY-SA

Que vont-ils «enseigner» 5.0


Si vous suivez l' approche de Torvalds pour numéroter les versions en fonction du nombre de doigts d'une personne, la version 21 ne devrait pas l'être . Pour cette raison, avec un degré de probabilité élevé, 2019 sera l'année de naissance du noyau Linux 5.0.

Parmi les améliorations de la prochaine version, il y aura la prise en charge du nouveau matériel et des périphériques supplémentaires. Les utilisateurs auront probablement la possibilité de connecter le clavier de jeu Cougar 700K et de travailler avec le Chameleon96 - FPGA d'Intel.

Les travaux se poursuivront sur le problème Y2038 et d'autres problèmes de sécurité, ainsi que sur les nouveaux pilotes pour les unités graphiques, hybrides et centrales. Le tunnel VPN WireGuard tant attendu arrivera également au noyau .

Dans la prochaine version, le sous - système I3C apparaîtra , qu'ils n'ont pas eu le temps d'ajouter en 4.20. Il incarne les avantages de l'I2C et du SPI et convient pour travailler avec l'IoT.



Premier blog IaaS d'entreprise:


Notre blog TelaGram IaaS:

Source: https://habr.com/ru/post/fr435214/


All Articles