LinuxFR
Le noyau Linux 2.6.21 est disponible


La nouvelle version du noyau Linux stable (la vingt-deuxième de la branche 2.6) est disponible au téléchargement sur les serveurs du site <a href="http://kernel.org/">kernel.org</a>.
Cette version a suivi le processus de release candidate qui est maintenant bien rôdé. La <a href="http://lwn.net/Articles/223020/">version RC-1</a> est apparue deux semaines après la sortie du noyau précédent. Linus s'est félicité de la fiabilité du noyau 2.6.20 ce qui a facilité la transition vers cette version candidate : <i>It would seem that 2.6.20 has been a good base, and I don't think we have anything *really* scary here</i>.
La <a href="http://lwn.net/Articles/224066/">version RC-2</a>, qui devait normalement comporter uniquement des correctifs, s'est révélée plus invasive que prévu car Linus avait oublié d'intégrer les patchs de V4L (Video for Linux). Il s'en est excusé à sa manière typique : <i>And yeah, it's largely my fault (...) but I'll rather blame anything else than my own incompetence, I'll just claim that all the other kernel developers have been irresponsible</i>.
En dépit de son humour corrosif, Linus s'est <a href="http://lwn.net/Articles/224886/">un peu énervé</a> en constatant que les autres développeurs ne respectaient pas vraiment la fenêtre d'intégration des changements (merge window) et continuaient de lui envoyer des modifications lourdes après la sortie des premières versions candidates : <i>I'm really fed up with having to pull big changes after the merge window, because it just doesn't seem to let up. I'm going <a href="http://en.wikipedia.org/wiki/Going_postal">to go postal</a> on the next maintainer who doesn't understand what "merge window" and "fixes only" means.</i>.
Le mail accompagnant la sortie de la <a href="http://lkml.org/lkml/2007/3/6/565">version RC-3</a> a continué sur le même ton humoristique, très torvaldien, puisqu'il est allé jusqu'à menacer de représailles physiques les développeurs réfractaires : <i>Let's keep the fixes to a minimum, especially since I'm planning on biting peoples heads off if I get any more pull requests for things that aren't real and obvious fixes.</i>
Ces terribles menaces ont manifestement effrayé les développeurs du noyau puisque les versions <a href="http://lwn.net/Articles/226457/">RC-4</a> et <a href="http://lkml.org/lkml/2007/3/25/195">RC-5</a> se sont contentées de résoudre les bugs existants et de corriger les régressions. Linus a félicité Thomas Gleixner d'avoir traqué avec obstination (<i>like a weasel on a dead rat</i>) un problème affectant le code des timers haute résolution.
Les deux dernières versions candidates (la <a href="http://lwn.net/Articles/229586/">RC-6</a> du cinq avril et la <a href="http://lwn.net/Articles/230582/">RC-7</a> du quinze avril) n'ont fait que proposer des corrections de bugs, traquer les régressions et améliorer la stabilisation du noyau.



Résumé complet des nouveautés http://kernelnewbies.org/Linux_2_6_21
Les ajouts de la période d'intégration 1 http://lwn.net/Articles/221843/
Les ajouts de la période d'intégration 2 http://lwn.net/Articles/222767/



Les nouveautés marquantes du nouveau noyau :<br>
<ul>
<li>La grosse innovation du noyau 2.6.21 est l'introduction des technologies <a href="http://lwn.net/Articles/223185/">"clockevents" et "dyntick"</a>. Actuellement, la gestion des tranches de temps dans votre ordinateur repose sur des "clock devices" qui gèrent les interruptions matérielles pour les processeurs. Le code faisant fonctionner ces "clock devices" n'est pas très propre car il est très dépendant des différentes architectures. Cela signifie qu'il y a beaucoup de duplication de code et aucun moyen unifié d'utiliser les "clock devices". La force de clockevent est justement d'unifier cette interaction, pour toutes les architectures. Cette innovation a permis d'introduire, au dessus de clockevent, la technologie "dyntick". Celle-ci autorise une gestion dynamique des interruptions : au lieu d'avoir une fréquence de fonctionnement du noyau fixe à 250 Hz, il est maintenant possible d'arrêter complétement ces réveils périodiques inutiles !
</li>
<li>La technologie de virtualisation <a href="http://fr.wikipedia.org/wiki/Kernel-based_Virtual_Machine">KVM</a> continue de progresser à grande vitesse et la <a href="http://lwn.net/Articles/223839/">version 15</a> fait son apparition. Elle propose la migration entre deux machines des systèmes invités (guest systems) et ce de manière simple et concise (moins de 800 lignes de code). Cette migration fonctionne sans problème entre des ordinateurs ayant des processeurs AMD et Intel. En revanche, un invité tournant sur un processeur 64 bits ne peut migrer vers une machine 32 bits.<br>
On peut également noter que l'échange de processeur à chaud est maintenant possible, que la machine hôte supporte la mise en veille (suspend/resume) et que <a href="http://fr.wikipedia.org/wiki/Interface_de_programmation">l'API</a> KVM présente dans le noyau 2.6.21 est maintenant figée, ce qui est le signe que le code est considéré comme mature.<br>
</li>
<li>Une couche de gestion unifiée a été introduite dans le noyau 2.6.21 afin de gérer les processeurs sonores embarqués : <a href="http://www.rpsys.net/openzaurus/patches/alsa/info.html">ASoC (ALSA System on Chip) layer</a>. Cela simplifie la gestion audio de ces processeurs, évite la duplication inutile du code et permet de réduire la consommation d'énergie (dynamic power management subsystem). <br>
</li>
<li>Une couche générique unifiée de gestion des machines virtuelles à base d'hyperviseurs est présente dans le noyau 2.6.21. Cet outil <a href="http://lwn.net/Articles/175706/">VMI (Virtual Machine Interface)</a> est utilisé par VMWare et a l'ambition de rallier également les autres solutions de paravirtualisation (comme <a href="http://fr.wikipedia.org/wiki/Xen">Xen</a>). Cette couche générique, construite par dessus l'interface paravirt_ops, est néanmoins quelque peu critiquée. Tout d'abord elle n'est pour l'instant utilisée que par les <a href="http://www.vmware.com/fr/products/esx/">outils propriétaires</a> de l'entreprise VMWare et l'arrivée de Xen est, à ce stade, loin d'être une certitude. En outre, l'interface paravirt_ops elle-même a été l'objet d'une <a href="http://lwn.net/Articles/225881/">flame war virulente</a> sur la liste de diffusion du noyau. Ingo Molnar <a href="http://lwn.net/Articles/225884/">a critiqué</a> paravirt_ops en indiquant que le rattachement des hyperviseurs à cette interface allait figer le code présent dans le noyau pour des raisons de compatibilité à maintenir. Linus <a href="http://lwn.net/Articles/225889/">lui a répondu</a> qu'il n'était pas inquiet et que les modifications pourraient quand même avoir lieu, puisque ce sera aux développeurs de VMWare de s'adapter (<i>It's *their* problem.</i>).<br>
</li>
<li>La ligne de commande du noyau qui était limitée en dur lors de la compilation à 256 octets sur x86 est maintenant allouée dynamiquement. Cela permet d'accepter plus facilement de spécifier au boot les paramètres des modules, les réglages vidéos ou les paramètres d'initramfs.<br>
</li>
<li>Une <a href="http://lwn.net/Articles/222860/">nouvelle API</a> est mise à disposition des auteurs de pilotes. Cette API porte le nom de "devres" (pour <b>dev</b>ice <b>res</b>ource management) et elle va permettre d'écrire un code plus sûr et plus robuste. Comme il est de notoriété publique que la majorité des bugs d'un système d'exploitation se trouve dans ses pilotes, il est apparu pertinent d'aider les auteurs de pilotes à produire du code de meilleure qualité. L'API "devres" offre des fonctions "managées" qui évitent aux auteurs de pilotes de se préoccuper des allocations/désallocations mémoires<br>
</li>
<li>Le drapeau permettant de marquer les noyaux "souillés" (taint flag) a <a href="http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=34f5a39899f3f3e815da64f48ddb72942d86c366">été ajouté</a> pour les applications en espace utilisateur. Cela est potentiellement utile pour déceler que la Java Virtual Machine a effectué des manipulations de la mémoire du noyau. En effet la spécification Java temps réel autorise les accès directs à la mémoire physique ce qui <a href="http://lwn.net/Articles/184879/">chagrine fortement</a> les développeurs du noyau. Une fois ce flag enregistré on pourra démontrer qu'un éventuel bug a été provoqué par une application Java temps réel et que le noyau n'est pas fautif.<br>
</li>
<li><a href="http://fr.wikipedia.org/wiki/IPSEC">IPSEC</a> permet maintenant de créer des tunnels de type "IPv4 over <a href="http://fr.wikipedia.org/wiki/IPv6">IPv6</a>" ou "IPv6 over IPv4". De plus l'algorithme de chiffrement symétrique <a href="http://linuxfr.org/2006/10/19/21497.html">Camellia</a> a été ajouté au noyau et il peut être utilisé avec IPSEC.<br>
</li>
<li>Comme d'habitude une multitude d'autres ajouts, modifications, corrections et nouveaux pilotes font leur apparition dans ce noyau 2.6.21. Pêle-mêle, on trouve le support des processeurs PA6T évoqués dans <a href="/2007/02/14/22067.html">cette dépêche</a> ; les Blackberry peuvent maintenant se recharger par le port <a href="http://fr.wikipedia.org/wiki/Universal_Serial_Bus">USB</a> ; le support du <a href="http://fr.wikipedia.org/wiki/Cell_(processeur)">Cell</a> (PS3) est largement amélioré ; le système de fichier <a href="http://fr.wikipedia.org/wiki/MINIX_fs">Minix</a> V3 peut être monté (seulement en read only pour l'instant) ; introduction d'une nouvelle API binaire USBmon qui utilise moins de ressource que l'API texte existante ; support des baies modulaires des portables IBM ou Dell... etc etc.<br>
Une liste détaillée des divers changement est, comme toujours, disponible sur le site <a href="http://kernelnewbies.org/Linux_2_6_21">Kernelnewbies</a>.<br>
</li>
</ul>
<br>

En ce qui concerne les futures versions du noyau, une nouveauté très attendue est l'introduction de la nouvelle pile réseau wifi (d80211). Evoquée lors du <a href="http://lwn.net/Articles/219102/">sommet sur le réseau sans fil</a> elle va permettre une gestion plus efficace et plus propre des communications sans fil. Le nouveau <a href="http://lwn.net/Articles/221550/">pilote Intel PRO/Wireless 3945ABG</a> utilise déjà cette nouvelle pile réseau flambant neuve et <a href="http://lwn.net/Articles/222877/">abandonne</a> le démon binaire précédent.
Une autre nouveauté importante ayant de bonnes chances d'intégrer les futures versions du noyau Linux est le <a href="http://lwn.net/Articles/224865/">Rotating Staircase Deadline Scheduler</a>. Sous ce nom barbare se cache un algorithme d'ordonnancement astucieux destiné à mieux affecter le temps de calcul disponible aux différents processus tournants sur la machine. C'est le fruit du travail de Kon Colivas et cette nouveauté a généré une grande excitation parmi les développeurs du noyau du fait de ses excellentes performances.
Quelques problèmes de jeunesse sont néanmoins apparus sur la liste de diffusion du noyau et Linus a <a href="http://lwn.net/Articles/226963/">exprimé son insatisfaction</a> quand il s'est rendu compte que les développeurs ne prenaient pas réellement en compte ces problèmes et préféraient les nier : <i>This is like alcoholism. If you cannot admit that you might have a problem, you'll never get anywhere. And quite frankly, the RSDL proponents seem to be in denial.</i>
En dépit de ces frictions, il est fort probable que les utilisateurs de la branche principale du noyau pourront bientôt utiliser ce nouvel ordonnanceur très prometteur.
Il n'y a pas de commentaire sur cette page. [Afficher commentaires/formulaire]