IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Le noyau Linux fait le ménage dans sa base de code et devient plus léger
Faut-il donc passer à la version 5.0 ? Linus Torvalds aborde le sujet

Le , par Michael Guilloux

651PARTAGES

9  0 
Depuis 2008, Linux Foundation publie régulièrement un rapport sur le développement du noyau Linux. Dans ce document qui est publié presque chaque année, la fondation met en avant certains indicateurs clés traduisant non seulement la croissance de la communauté Linux et open source, mais également le travail abattu par les contributeurs au noyau Linux. Parmi ces indicateurs figure le nombre de lignes de code du noyau qui dans le dernier rapport était d'environ 24,8 millions pour Linux 4.13.

En général, les bases de code, surtout pour les gros projets comme Linux, augmentent au fil des versions pour intégrer de nouvelles fonctionnalités et améliorations pour une meilleure expérience pour les utilisateurs et développeurs. Mais parfois, on laisse derrière des codes superflus qui augmentent inutilement la taille de la base de code, un problème auquel le projet Linux a décidé de s'attaquer au début de cette année, en envisageant de supprimer d'anciennes architectures ainsi que des compilateurs obsolètes dans le noyau.

« Le processus de développement du noyau tend à se concentrer sur l'ajout : chaque nouvelle version prend en charge plus de pilotes, plus de fonctionnalités et souvent de nouvelles architectures de processeurs. En conséquence, presque toutes les versions du noyau ont été plus volumineuses que leurs prédécesseurs. Mais parfois, même le noyau a besoin de s'amincir un peu », expliquait Jonathan Corbet, rédacteur en chef de LWN.net et membre du comité consultatif technique de la Linux Foundation. « Les versions à venir du noyau verront probablement la suppression du support d'un certain nombre d'architectures non utilisées et... la suppression de la prise en charge de certains compilateurs plus anciens », a-t-il annoncé fin février, en expliquant que le développeur du noyau Arnd Bergmann avait proposé de supprimer certaines architectures.

La première RC de Linux 4.17, publiée il y a quelques jours, a permis de constater ce travail. En annonçant sa sortie à travers la liste de diffusion du noyau Linux, Linus Torvalds a confirmé, comme Arnd Bergmann l'avait suggéré, qu'un certain nombre d'architectures qui semblent ne plus être importantes ont été supprimées. « Les architectures disparues sont blackfin, cris, frv, m32r, metag, mn10300, score et tile », dit-il. « S'il s'avère que quelqu'un veut ressusciter l'une d'entre elles, leurs codes sont tous dans l'historique Git, mais vous devrez faire le travail et montrer que vous allez le maintenir et qu'il a des utilisateurs. »

La suppression des anciennes architectures a donc permis de réduire une bonne quantité de lignes de code dans le noyau Linux, même si une nouvelle architecture a été ajoutée : nds32, une architecture 32 bits conçue par Andes Technology, une entreprise qui développe des processeurs et des plateformes SoC associées. Mais ce n'est pas tout : « Nous avons aussi supprimé une bonne quantité d'autres éléments et nettoyé le code. J'ai été agréablement surpris par le nombre de pull requests qui ont fini par enlever beaucoup de lignes de code », explique Torvalds. « Le résultat final est que nous avons effectivement supprimé plus de lignes que nous en avons ajouté : 13 538 fichiers modifiés, 627 723 insertions (+), 818 855 suppressions (-), ce qui est probablement une première jamais réalisée dans l'histoire de l'Univers. Ou au moins dans les versions du noyau », estime le créateur du noyau Linux.


Linus Torvalds

En annonçant la sortie de Linux 4.17 RC-1, Torvalds laisse également croire que la prochaine version du noyau pourrait être numérotée 5.0... Ou non, parce qu'il ne veut pas être « trop prévisible. » La numérotation de noyau Linux ne suit pas en fait de règle définie. Du moins, on ne sait pas à l'avance quand on passera à la prochaine version majeure.

« [Linux 4.17] ne semble pas être une version particulièrement importante, et il semble n'y avoir rien de spécial à son sujet. La chose la plus spéciale qui s'est produite est que nous avons franchi la barre de six millions d'objets Git, et c'est une raison suffisante pour appeler le prochain noyau 5.0. Sauf que je ne le ferai probablement pas, parce que je ne veux pas être trop prévisible », dit-il.

Notons en effet que les versions 3.0 et 4.0 ont été publiées quand Linux a franchi respectivement les barres de 2 millions et 4 millions d'objets Git. Alors, Linus Torvalds ne veut pas sortir de version 5.0 après l'étape de 6 millions d'objets Git, parce que cela pourrait être considéré comme une règle de passage à une nouvelle version majeure du noyau. Il assure toutefois que la version 5.0 va arriver, mais elle ne devrait pas être « significative », donc probablement sans fonctionnalités majeures.

Source : Linus Torvalds, LWN.net

Et vous ?

Que pensez-vous du nettoyage du code du noyau Linux ?
Faut-il maintenant passer à la version 5.0 ?

Voir aussi :

Linus Torvalds publie Linux 4.17 RC-1 qui s'accompagne de nombreuses améliorations côté graphique, et d'une meilleure gestion de l'énergie
Linux kernel 4.16 est disponible avec des correctifs contre Meltdown et Spectre, pour l'architecture arm64 et de nombreux autres ajouts

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de ok.Idriss
Rédacteur https://www.developpez.com
Le 18/04/2018 à 15:19
Citation Envoyé par Spleeen Voir le message
Une version majeure sans fonctionnalités majeures
Les versions c'est pas que par rapport aux features mais aussi par rapport à la compatibilité du code entre versions mineures (pour les reports de corrections de bugs entre autres).
Et si le code change beaucoup vaut mieux repartir sur une nouvelle version majeure.
3  0 
Avatar de chrtophe
Responsable Systèmes https://www.developpez.com
Le 18/04/2018 à 8:46
Il est à noter que si tu installes une distribution, ton noyau ne supporteras que l'architecture demandé. Exemple, si tu utilises un noyau i386, tu n'auras pas un noyau ARM d'installé. Sauf si tu l'installes de ton propre chef pour faire de la cross-compilation.
2  0 
Avatar de LittleWhite
Responsable 2D/3D/Jeux https://www.developpez.com
Le 18/04/2018 à 17:49
Bonjour,

Les environnement embarqués utilisent souvent des noyaux Linux qui, à cause de la limitation en place sur les puces du système, sont optimisés en taille.
2  0 
Avatar de VinsS
Expert éminent https://www.developpez.com
Le 18/04/2018 à 8:09
@ Steinvikel
Serait-il possible de compiler le noyau Linux pour une unique architecture cible, et remplacer l'actuel... ou réinstaller la distribution avec ce dernier ?


Le hors série de Linux Magazine n° 87 propose exactement cela. Compiler son noyau avec uniquement ce que ta machine à besoin.
1  0 
Avatar de Steinvikel
Membre expert https://www.developpez.com
Le 18/04/2018 à 17:31
@VinsS
Citation Envoyé par VinsS Voir le message
Le hors série de Linux Magazine n° 87 propose exactement cela. Compiler son noyau avec uniquement ce que ta machine à besoin.
merci beaucoup pour l'info, j'espère trouver ce numéro sur internet ou dans une bibliothèque... étant donné qu'ils en sont aujourd'hui au n°215. ^^'

Sinon, personne n'a de raisons pertinentes en tête sur les avantages à réduire la taille du noyau Linux ?
Puisque chaque partie est dédié à sa seule tâche... qu'il soit gros où petit ne devrait pas changer drastiquement son fonctionnement ?
>> fluidité, réactivité, consomation (Watt, mémoire...), parallélisme, etc.

Citation Envoyé par chrtophe Voir le message
Il est à noter que si tu installes une distribution, ton noyau ne supporteras que l'architecture demandé. Exemple, si tu utilises un noyau i386, tu n'auras pas un noyau ARM d'installé. Sauf si tu l'installes de ton propre chef pour faire de la cross-compilation.
J'ai bien ça en tête... seulement chaque fois que j’entends parler du noyau, on en parle comme si c'était un paquet non modulaire, présent dans tte les distros, en entier. Donc j'imagine que quand je télécharge Debian en version amd64, j'ai certes un OS qui ne fonctionne que sur CPU classique (desktop/laptop pour faire simple) mais qui contient un noyau pouvant tourner sur tout et n'importe quoi. C'est du moins ce que j'ai compris jusqu'à maintenant.
Puisque recompiler une application telle que " StockFish " (sur les échecs) pour une architecture unique permet d'en augmenter ses performances, j'en déduis donc légitimement que faire de même avec le noyau de la distribution amènerait au même résultat, en plus mesuré je suppose.

...à moins que ddl la version AMD64 de Debian, nous ddl une version compilé exclusivement pour amd64, noyau compris... auquel cas, ma problématique n'existe pas. ^^'
1  0 
Avatar de chrtophe
Responsable Systèmes https://www.developpez.com
Le 18/04/2018 à 19:55
j'ai certes un OS qui ne fonctionne que sur CPU classique (desktop/laptop pour faire simple) mais qui contient un noyau pouvant tourner sur tout et n'importe quoi. C'est du moins ce que j'ai compris jusqu'à maintenant.
Tu auras un noyau qui fonctionnera sur tous les CPU avec le jeu amd64, mais qui ne sera pas forcément optimum pour ton cpu à toi. Le recompiler te permetra d'affiner les réglages ainsi que la présence ou non de fonctionnalités (comme indiqué par LittleWhite) et donc de gagner en performances.

De mauvais réglages peuvent aussi dégrader les performances voire crasher le noyau au démarrage. En général on ajoutes une entrée pour le noyau compilé dans le Grub de façon à pouvoir rebooter sur le noyau fourni d'origine.
1  0 
Avatar de fatbob
Membre éclairé https://www.developpez.com
Le 20/04/2018 à 14:52
Citation Envoyé par VinsS Voir le message
@ Steinvikel
Le hors série de Linux Magazine n° 87 propose exactement cela. Compiler son noyau avec uniquement ce que ta machine à besoin.
Citation Envoyé par Steinvikel Voir le message
@VinsS
merci beaucoup pour l'info, j'espère trouver ce numéro sur internet ou dans une bibliothèque... étant donné qu'ils en sont aujourd'hui au n°215. ^^'
Dans "Hors série 87", il y a "Hors série" :-)
1  0 
Avatar de Spleeen
Membre régulier https://www.developpez.com
Le 17/04/2018 à 17:55
Une version majeure sans fonctionnalités majeures
2  2 
Avatar de steel-finger
Membre confirmé https://www.developpez.com
Le 17/04/2018 à 19:56
Il n'y a que moi qui suis choqué par le faite qu'il change le numéro de version pour ne pas être prévisible !!!
0  0 
Avatar de Steinvikel
Membre expert https://www.developpez.com
Le 18/04/2018 à 1:25
Serait-il possible de compiler le noyau Linux pour une unique architecture cible, et remplacer l'actuel... ou réinstaller la distribution avec ce dernier ? (par un non-développeur de métier)
Si oui, quel intérêt à réduire aussi drastiquement le noyau (outre la diminution de surface d'attaque, de bugs...) ?
Je me doute bien que ça compte pour l'embarqué pour réduire l'usage des ressources, ma question est plutôt orienté PC.

PS : je sais bien que compiler c'est possible (puisque open-source), la question porte plutôt sur l'implémentation de la compilation dans l'existant, et par extension, l'accessibilité d'une opération qui touche à quelque chose d'aussi délicat.

@steel-finger ,@Uther2
Non, moi aussi, jusqu'à maintenant j'étais convaincu que l'usage de numéros de versions répondait à un besoin d'informer... pas l'inverse.
Si la seule information que fourni le versionning de Linux est sa chronologie... autant utiliser des nom, comme Androïd et son nommage par ordre alphabétique, ou des années pour le préfixe comme tu le suggères.
-
Concernant "Mac OS" et "Mac OS X", il est important de noté que le X n'est pas le nom/n° de la version, mais fait parti du nom de l'OS, afin de marquer la transition profonde que représente la restructuration du Mac OS classic à un nouveau, centré cette fois-ci autour de freeBSD et UNIX. Si le X à été choisi également parce que Mac OS classic en était à sa v9, en marketing technologique ils raffolent des 3 dernières lettres de l'alphabet... j'ai jamais compris pourquoi d’ailleurs. ^^'
ex: CPU-Z, GPU Titan X, chipset X470/Z470, CPU machin X... un X qui marque qqch de différent, tablant sur l'inconnu, l'infini... rajoute à ça tout les diminutif anglophones avec "ex-" (prononcé "X".
il y en a plein d'autres très connu, je ne l'ai ai pas en tête au moment où j'écris ces lignes.

Citation Envoyé par Uther2 Voir le message
Ou Windows 10 > Windows 10 ???
étant donné qu'ils ont sauté la version 9, ils sont dans une sacré galère...
l'après 10 serait-il cette fois-ci fondé sur un Linux-like ?
0  0