Page suivante Page précédente Table des matières

2. Le monde merveilleux de Linux 2.2

La longue attente est finie et le noyau 2.2.0 est finalement disponible pour tout le monde. Linux 2.2 est officiellement sorti le 25 janvier 1999. Au moment où j'écris ces lignes, la presse spécialisée n'a pas encore pris acte de cette sortie, et j'espère qu'il n'est pas trop tard pour que ce texte leur soit utile. Par ailleurs, aucune distribution n'a pour le moment annoncé de date d'inclusion d'un noyau 2.2.x, mais on peut raisonnablement s'y attendre d'ici le mois de mars.

Soumis à votre approbation (NdT : sur la liste de diffusion "linux-kernel"), ceci est la version finale de ce document (c'est la troisième version "finale" mais cette fois-ci je le pense vraiment). Ce texte est censé être une liste vaguement commentée des nouvelles fonctionnalités et autres ajouts des noyaux 2.2.x, dont la sortie est une date importante dans l'histoire de Linux.

Notez que ce document ne précise pas tout le nouveau matériel supporté par Linux. Beaucoup de périphériques, tels que des imprimantes ou des scanners, sont gérés exclusivement en espace utilisateur. D'autres (cartes vidéo et souris, par exemple) utilisent une combinaison d'un support noyau et de programmes utilisateurs. Si une classe de matériel vous intéresse, et n'est pas citée dans ce texte, alors il est probable que Linux 2.2 la supporte -- mais pas forcément en utilisant le noyau.

Par ailleurs, je ne prétends pas que tout dans ce document soit spécifique aux PC. Je pense avoir été juste et honnête dans ma formulation. Si vous pensez que je devrais refaire certaines portions afin de ne gêner personne, faites-le moi savoir, mais je ne promets rien (NdT : c'est peut-être dû à ma traduction ; dites-le moi, plutôt, je transmettrai).

2.1 Une pléthore de processeurs

Le monde des puces Intel est animé d'un mouvement rapide, et est intéressant à suivre si on n'a rien de mieux à faire. Merced, Celeron, MMX... les technologies Intel sont toujours remplacées par d'autres encore plus en pointe (savoir si ces technologies valent quoi que ce soit est un sujet que je ne veux pas aborder). De plus, AMD, Cyrix, et d'autre compagnies se sont taillées une vraie part de ce marché, et chacun apporte ses propres optimisations, astuces, et bugs. C'est un beau bazar, s'il en est.

Linux 2.2 est la première version de production de Linux (NdT : l'auteur dit "stable" mais "de production" est une appréciation plus juste ; il y a eu des 2.1.x stables, et des 2.0.x instables) qui possède des options de configuration spécifiques aux processeurs non-Intel. Plus important, Linux 2.2 (et les derniers-nés des 2.0.x, pour des raisons évidentes) contient des corrections et contournements de bugs des processeurs, dont le tristement célèbre F00F sur Pentium. D'autres bugs, qui ne peuvent pas être contournés (comme le bug "sig11" de certains K6) sont détectés et signalés au boot.

Merced n'existe pas encore, et n'existera probablement pas dans un futur immédiat, mais Linux 2.2 a déjà été porté sur Sparc64, Alpha, et d'autres plateformes 64-bits (NdT : Mips (le port complet 64 bits est en cours), peut-être Pa-risc (c'est encore une rumeur)), et l'infrastructure pour un noyau 64-bits est déjà en place (il y a bien sûr d'autres obstacles à franchir pour obtenir un Linux/Merced, mais avoir un noyau prêt au 64-bits est une étape importante)(NdT : HP a annoncé qu'ils porteraient Linux sur Merced, c'est-à-dire celui en mode émulation de Pa-risc, car Merced est un processeur polymorphe -- à rapprocher de la rumeur précédente).

Les machines multi-processeurs fonctionnent bien plus efficacement que sous Linux 2.0, grâce notamment à la suppression du verrou global. Comme sur le noyau 2.0, jusqu'à 16 processeurs sont supportés (NdT : en fait 32 dans la configuration par défaut, cf include/linux/tasks.h, mais on peut facilement modifier cette limite ; de toutes façons, sur ix86, on ne peut pas dépasser 4 PPro, 2 PII ou 8 Xeon) mais la différence de performances devrait être impressionnante (NdT : elle l'est). Par ailleurs, il y a un support plus complet de l'IO-APIC des cartes mères Intel ce qui devrait également améliorer le support SMP.

Pour ce qui est des autres architectures, Linux 2.2 comporte un support largement amélioré des stations de travail telles que les machines Sparc, Sparc64 et Alpha. Quant aux ordinateurs dits "de bureau", Linux 2.2 a été porté sur les processeurs Motorola m68k et PowerPC et peut fonctionner sur beaucoup de plate-formes utilisant ces processeurs, notamment les Macintosh (avec des degrés divers de support matériel, bien sûr ; en particulier, le port Mac m68k n'est pas prêt pour l'usage public). Linux est également porté vers des processeurs tels que les ARM, qui sont de plus en plus utilisés dans les systèmes embarqués.

Dans le même ordre d'idées, un projet de port sur 8086, 8088, 80186 et 80286 est en cours. Ce projet ne sera jamais intégré aux noyaux Linux officiels, mais peut fournir à ces plate-formes un système d'exploitation alternatif composé d'un sous-ensemble de Linux.

En termes de consommation mémoire, la configuration Linux 2.2 moyenne nécessite plus de mémoire que Linux 2.0 (bien qu'un grand nombre de composants puisse être maintenant modularisés ou ignorés, ce qui donne plus de flexibilité quand la mémoire libre est rare). La limite inférieure de mémoire nécessaire au bon fonctionnement d'un système en mode texte est encore débattue, mais on peut dire que 4 Mo de RAM sont toujours suffisants dans beaucoup de cas (8 Mo reste la taille minimum recommandée). Inversement, Linux 2.2 apporte de nouvelles optimisations qui augmentent les performances sur des machines possédant au moins 16 Mo de RAM. Comme d'habitude, plus il y a de mémoire, mieux c'est.

2.2 Bus système et assimilés

Bien que cela soit moins crucial et de pointe, Linux 2.2 peut tourner sur une plus large part des machines x86 existantes car il possède un support complet du bus Microchannel des PS/2 et d'autres machines anciennes.

En plus de centaines de corrections mineures (notamment de nombreux nouveaux noms de périphériques PCI), de grandes modifications ont été effectuées sur le support des différents bus. Le sous-système PCI, en particulier, a subi plusieurs changements majeurs. Tout d'abord, l'interface de consultation de l'état du bus PCI a été refaite pour simplifier l'ajout de nouveaux champs d'information. Ceci ne touche pas tellement l'utilisateur final mais facilite grandement la vie des développeurs. De plus, il est maintenant possible de choisir entre une détection du bus en passant par le BIOS ou en accédant directement au matériel ; ceci permet à Linux 2.2 de fonctionner sur un plus grand ensemble de machines dont le BIOS n'est pas standard.

Hélas, il y a toujours très peu de support dans le noyau pour le Plug-and-Play ISA. Bien que cela serait un ajout très intéressant, les différentes solutions proposées jusqu'alors ont quelques problèmes qui seront résolus quelque part dans la série des noyaux 2.3.x. Ceci dit, il existe un très bon utilitaire en mode utilisateur, isapnp, qui permet de configurer les périphériques PnP, et qui exige juste un tout petit peu plus de travail que ce que l'on voudrait, mais qui effectue le travail selon la vraie philosophie Linux.

Les portables et de nombreuses stations de travail peuvent aussi tirer avantage du support amélioré pour l'économie d'énergie, notamment des contournements adaptés à de nombreux BIOS non standards. 2.2 ajoute également la possibilité d'utiliser certaines fonctions du bios APM sur des systèmes multi-processeurs.

2.3 IDE, SCSI, USB

Pour ce qui est de l'IDE, peu de choses ont changé depuis Linux 2.0. La modification la plus visible est qu'il est maintenant possible de charger et de décharger le sous-système IDE sous la forme de modules, comme pour le SCSI (ce qui permet d'utiliser des contrôleurs IDE PnP). Pour les machines moins modernes, le pilote IDE peut maintenant gérer les vieux contrôleurs MFM et RLL sans qu'on ait à utiliser une ancienne version du dit pilote. De plus, Linux 2.2 peut maintenant détecter et configurer automatiquement tous les contrôleurs IDE sur bus PCI, et (entre autres) activer le DMA (dit "bus-mastering"), ce qui réduit l'usage du processeur pendant les accès au disque, et augmente les performances. Il est surprenant de voir comment des choses excellentes peuvent continuer à s'améliorer.

Les périphériques IDE sur port parallèle sont devenus relativement courants et Linux 2.2 supporte la plupart d'entre eux. On peut raisonnablement supposer que ceux qui ne sont pas supportés actuellement le seront dans une future version 2.2.x du noyau.

Le sous-système SCSI a surtout connu l'ajout de pilotes pour de nombreuses cartes et processeurs. Beaucoup trop pour être cités ici, en fait.

Les ports PCMCIA ne sont pas supportés dans le Linux 2.2 officiel mais via des modules externes ; ce support sera donc inclus dans la plupart des distributions.

IrDA a été rajouté au noyau récemment. De nombreux contrôleurs ne sont pas encore gérés, et cette partie n'est pas aussi mature que le reste du noyau.

Hélas, il y a aussi de mauvaises nouvelles. Malgré les talentueux efforts de plusieurs personnes pour finir le support USB, ceci n'a pas été finalisé à temps pour l'inclusion dans le noyau 2.2. Un certain nombre de développeurs de premier ordre ont considéré ce code, et il est probable qu'il sera intégré dans les noyaux 2.2.x à moyenne échéance (à moins que le support USB ne soit fourni par un module séparé, de la même façon que le PCMCIA).

2.4 Ports parallèle et série

Rien de vraiment nouveau de ce côté ; Linux a toujours eu un excellent support de ces périphériques de base. Le pilote de port parallèle a néanmoins été réécrit pour être plus facilement portable, et ce qui était un "port parallèle" est maintenant un "port parallèle de type PC". Le seul changement visible est qu'il est désormais très simple de partager un port parallèle entre plusieurs pilotes (on notera cependant que la convention de nommage des ports parallèles a changé, ce qui fait que ce qui était lp1 peut devenir lp0 -- les distributions devraient néanmoins gérer ceci de manière transparente).

Le support série tourne comme il l'a toujours fait avec une modification notable : dans le passé, un périphérique série (un modem par exemple) nécessitait l'utilisation de deux devices, l'un pour l'entrée et l'autre pour la sortie (ttyS et cua, respectivement). Sous Linux 2.2, ttyS prend en charge les deux services, et l'utilisation de cua provoque l'émission d'un avertissement dans les messages du noyau. Par ailleurs, Linux 2.2 peut gérer plus de 4 ports série, permet le partage d'interruptions entre les périphériques série, et contient plusieurs pilotes pour des ports non standards et des cartes d'extension offrant plusieurs ports supplémentaires. Ma seule récrimination est l'impossibilité de passer des paramètres aux pilotes série quand ils sont en modules via la méthode standard (modules.conf) ; il faut passer par "setserial" ce qui est un peu inélégant.

On peut aussi mentionner que Linux 2.2 connaît des puces UART plus récentes que 2.0, ce qui peut impliquer des taux de transfert plus élevés avec des modems récents.

2.5 CD-ROM, disquettes, supports extractibles

Grâce à Dieu, le maëlstrom des centaines de standards de CD-ROM s'est figé autour des CD-ROM ATAPI. Ce répit a donné aux développeurs le temps de réécrire complètement le pilote de CD-ROM pour faciliter sa maintenance. Les petites différences entre les pilotes ont maintenant été aplanies.

Les CD-ROM réinscriptibles ne sont pas supportés aussi bien que ce que l'on voudrait, hélas. Ceux qui sont en SCSI, ainsi que les IDE qui utilisent le pilote d'émulation de SCSI par-dessus ATAPI, sont bien supportés. Pour les autres, cela dépend.

Les lecteurs de disquettes fonctionnent comme toujours. Il y a de nouveaux développements à propos des disquettes de grande capacité, et il n'est pas facile de prévoir si ces dernières seront toutes supportées. La plupart utilisent ATAPI et sont déjà plus ou moins utilisables.

Le lecteur Zip d'Iomega, un système de disques extractibles de plus en plus populaire, est bien supporté par Linux 2.2. Les versions SCSI et ATAPI (IDE) sont gérées comme n'importe quel disque du même type (NdT : et ça marche bien, je parle d'expérience). La troisième sorte, sur port parallèle, utilise en fait un protocole de type "SCSI par-dessus le port parallèle" qui possède son propre pilote dans le noyau Linux 2.2 (NdT : il est parmi les pilotes SCSI, il faut donc activer le SCSI). D'autres produits Iomega, comme les lecteurs DITTO, peuvent être utilisés avec les pilotes ftape.

Les lecteurs DVD sont déjà plus ou moins supportés par Linux, car la plupart utilisent le protocole ATAPI (les DVD SCSI ne sont pas dans ce cas, mais sont probablement gérés correctement par l'excellent pilote SCSI CD-ROM). Ceci dit, tout n'est pas si rose dans l'interaction Linux/DVD, car Linux ne connaît pour le moment aucun des systèmes de fichiers propres aux DVD, et il n'existe à l'heure actuelle aucune application permettant l'affichage des films sur DVD et autres choses du même genre. Une fois que les standards se seront un peu stabilisés, il est hautement probable que le support nécessaire sera ajouté dans la série des noyaux 2.2.x.

D'autres supports extractibles peuvent être supportés par Linux 2.2. Si le périphérique se connecte par le port parallèle, il est possible qu'il soit gérable par l'un des pilotes de périphériques IDE-sur-parallèle.

2.6 Le son

Le support du son a été finalement partiellement réécrit pour devenir complètement modulaire. Les distributions pourront plus facilement inclure un support du son configuré automatiquement, et tout le monde profitera de la facilité accrue d'utilisation (surtout pour les cartes PnP). Beaucoup de nouveaux périphériques sonores sont supportés.

Un absent notable est le haut-parleur PC interne, même si on n'en voudrait que par soucis d'exhaustivité. Mais bon, Windows 95/98 ne le supporte pas non plus, alors qui suis-je pour juger ? (NdT : le pilote existe depuis longtemps mais utilise un hack crade qu'il serait difficile de rendre compatible avec les machines SMP ; et, de toutes façons, ça n'intéresse personne)

2.7 Video4Linux

Linux 2.2 supporte maintenant un nombre toujours croissant de cartes TV et radio, et d'appareils photos digitaux. C'est un domaine très avancé et il peut y avoir des problèmes assez gênants, mais on peut supposer que tout cela sera arrangé en temps utile. À mon humble avis, il est déjà remarquable que Linux ait un pied dans ce domaine.

2.8 Les backups ? Où ai-je mis mes backups ?

Le support des systèmes de sauvegarde par bandes magnétiques n'a pas beaucoup changé depuis les noyaux 2.0. Des pilotes supplémentaires ont été écrits, et de bonnes améliorations ont été apportées au support des périphériques à bandes qui utilisent le lecteur de disquettes.

Les CD-ROM réinscriptibles sont maintenant une solution assez populaire pour la sauvegarde de données et Linux 2.2 les supporte en partie ; cf la section sur les CD-ROM ci-dessus.

2.9 Joysticks, souris & co

Les joysticks ont un meilleur support dans Linux 2.2, notamment de nombreux joysticks de différents types avec un nombre non standard de boutons. Il est très probable que votre joystick soit connu de Linux 2.2.

Le support souris n'est pas très différentes dans Linux 2.2 par rapport à Linux 2.0. Comme dans le 2.0, il y a d'ailleurs quelques incohérences qui seront corrigées ultérieurement ; par exemple, bien que le contrôle de la souris soit habituellement dévolu à un démon qui tourne en espace utilisateur, certains pilotes prennent en charge le contrôle et émulent une souris Microsoft. La raison de ce comportement est claire, mais il serait bon qu'il soit choisi l'une ou l'autre option de façon nette. On notera que, bien que ce ne soit pas seulement lié au noyau, les souris possédant une roue sur le dessus sont supportées par XFree86, l'interface graphique la plus courante sous Linux (cependant, peu d'applications ont été pensées pour utiliser cette possibilité).

De plus, plusieurs autres périphériques d'entrée sont maintenant supportés par Linux 2.2, notamment des tablettes graphiques. Si votre périphérique se comporte comme une souris (ce qui est le cas pour beaucoup d'entre eux) alors il est géré par Linux 2.2 (et aussi Linux 2.0, en fait).

2.10 Vidéo

L'addition la plus surprenante et la plus technologique du noyau Linux 2.2 est peut-être ce qui est appelé la "console par frame-buffer" ("fbcon" pour les intimes).

Auparavant, le noyau Linux (sur les machines ix86 au moins) ne gérait les cartes graphiques qu'en mode texte. Le support des modes graphiques était obtenu par deux autres systèmes en espace utilisateur : la bibliothèque svgalib et le serveur X11. Cette dualité malheureuse exigeait souvent que des informations de configuration soient répétées, et chaque système ne supportait qu'une fraction limitée de la horde des cartes graphiques existantes.

Comme cet ajout est plutôt récent (NdT : sur ix86 seulement ; le framebuffer a toujours été la norme sur m68k, Sparc et autres architectures sans carte de type vga), nous ne savons pas encore si cette fonctionnalité va remplacer la dualité évoquée ci-dessus. Hélas, il se pourrait qu'il s'écoule une année complète avant que le nouveau système soit suffisamment robuste pour supporter toutes les cartes actuellement bien gérées. Mon avis personnel est que c'est « La Bonne Façon », mais je vais retenir ce jugement jusqu'à ce que nous sachions à quel point Linus et les développeurs veulent mener ce support.

Un effet de bord du framebuffer est de permettre, pour certaines cartes video, le support de plusieurs écrans simultanément. Pour le moment, cela est limité en partie au mode texte, mais on peut raisonnablement supposer que ce support gagnera en maturité pendant les cycles de développement 2.2.x et 2.3.x.

Il faut aussi préciser que l'on peut maintenant enlever du noyau tout support des consoles virtuelles ; ainsi, les économiseurs forcenés de mémoire peuvent aller encore un peu plus loin.

Bien que cela soit loin des préoccupations de l'utilisateur moyen de Linux, le noyau 2.2 peut maintenant fonctionner bien mieux lorsqu'il n'y a pas de carte graphique du tout. En plus des possibilités de login sur un terminal série ou par réseau, comme il était déjà possible depuis longtemps, les messages du noyau peuvent être également dirigés vers le port série (même les premiers messages de boot, alors que le matériel n'est pas encore vraiment initialisé).

2.11 Réseau: ethernet, ISDN, modems

Je n'ai pas une très grande expérience à ce sujet ; j'ai utilisé les mêmes cartes réseau dans toutes mes machines depuis plusieurs années. Mais ce n'est pas la peine d'être Alan Cox pour voir que le nombre de périphériques ethernet et ISDN supportés par Linux 2.2 a grandement augmenté. On m'a dit que de nouveaux matériels, tels que les modems par câble, sont également supportés (NdT : forcément, la plupart se branchant via un câble ethernet dans une carte réseau ad hoc dans la machine).

Mon seul regret est l'absence de support des "winmodems". Je ne blâme pas Linux pour cette absence, faire des modems 80% en logiciel est une idée stupide de toute manière ; mais l'idéaliste qui sommeille en moi espère qu'un jour ces matériels bâtards seront supportés comme leurs cousins moins défavorisés. (NdT : le manque de support vient surtout du fait que la communication entre la partie logicielle et la partie matérielle suit un standard parfaitement inconnu et non documenté par les constructeurs)

2.12 Les radio-amateurs ont droit à Linux

(NdT : je traduis ainsi "Amateur Radio" mais je ne suis pas sûr de bien comprendre ce dont il s'agit ; j'ai toujours pensé qu'il s'agissait de protocoles et cartes réseaux utilisant les ondes radio)(NdT 2 : on me confirme que c'est bien ça)

Avant même Linux 2.0, Linux a été un des rares OS contenant un support natif pour les radioamateurs informatisés (non que je comprenne de quoi il s'agit vraiment (NdT : moi non plus), mais il semble que ce soit relativement courant en dehors des États-Unis). Linux 2.2 contient le support pour les protocoles NetROM et ROSE. La couche AX.25, déjà présente auparavant, a été améliorée.

2.13 Les systèmes de fichiers du monde entier

Linux 2.2 connaît de nombreux systèmes de fichiers et types de partitions lui procurant une grande interopérabilité. De plus, beaucoup de ces systèmes (NdT : à peu près tous à ma connaissance, sauf HPFS) utilisent un nouveau système de cache (NdT : le "dcache" qui gère les "dentries") qui augmente drastiquement les performances.

Sur le front Microsoft, Linux lit maintenant le NTFS et gère la FAT32 de Windows 98 (NdT : et win95 OSR2). Linux 2.2 comprend également le format Microsoft Joliet qui procure les noms de fichier longs sur les CD-ROM (NdT : en plus du Rock-Ridge, qui fait la même chose depuis plus longtemps). Et finalement, Linux comprend également le nouveau format de partition étendue inventé dernièrement par Microsoft. Des pilotes de lecture/écriture des volumes compressés par Stacker ou Doublespace sont en cours de développement, mais pas encore inclus dans le noyau officiel. Un support en écriture expérimental de NTFS existe dans le noyau 2.2.

Quant aux Macintosh, un pilote HFS pouvant lire et écrire leurs disques a été inclus. HFS+ et MFS (le vieux format des disquettes) (NdT : MFS est complètement obsolète depuis des lustres, même chez Apple) ne sont pas supportés. Les tables de partitions Macintosh sont connues du noyau, ce qui permet d'utiliser sans problème des disques Macintosh.

Malheureusement, les utilisateurs d'OS/2 ne peuvent toujours pas écrire avec Linux sur leurs volumes en HPFS. Certains ajustements on été faits pour que le pilote HPFS connaissent le dcache, mais pas le remaniement complet que certains espéraient. Un projet de support lecture/écriture est en cours mais n'a pas pu être finalisé à temps pour être inclus dans le noyau 2.2.0.

Les utilisateurs d'Amiga (je sais qu'il en reste) seront heureux d'apprendre que quelques améliorations ont été apportées au pilote FFS depuis la version 2.0. Ces améliorations sont particulièrement utiles pour les Amiga PPC qui continuent à utiliser ce format. (NdT : l'Amiga FFS n'a rien à voir avec le système de fichiers FFS des *BSD, qui est également supporté sous son nom originel, id est UFS ; cf plus bas)

En ce qui concerne les autres Unix, Linux 2.2 a avancé à pas de géant. Linux 2.2 contient toujours le support UFS qui est utilisé par les Unix dérivés de BSD, notamment Solaris (NdT : c'est bizarre de voir Solaris mis dans le même sac que les BSD ; c'est surtout SunOS 4 qui était BSD, Solaris utilisant le même système de fichiers par compatibilité ascendante) et les versions gratuites de BSD (NdT : en fait, le support en lecture a été complètement refait, et connaît maintenant beaucoup de variantes d'UFS, notamment OSF et NeXTstep ; un support en écriture fonctionnel pour les UFS Sun et *BSD a été ajouté). Linux 2.2 peut maintenant lire les tables de partitions dans les formats utilisés par FreeBSD, SunOS et Solaris (NdT : aussi bien le Solaris Sparc que le Solaris x86, qui sont pourtant très différents, et aussi les disklabels étendus (dits types A6) d'OpenBSD). Quant aux Unix SysV, Linux 2.2 contient un support remis à jour du SysVFS (NdT : il en reste beaucoup, des comme ça ?). Linux 2.2 peut lire les volumes en ADFS (le système de fichiers de RiscOS, sur les machines Acorn à base de processeur ARM). Enfin, Linux 2.2 contient toujours le support Minix, adapté au dcache, qui peut être utilisé par de nombreux Unix pour les petits disques et les disquettes. Avec autant de formats incompatibles (et Linux 2.2 en lisant autant), il est étonnant que qui que ce soit arrive à effectuer un quelconque travail. (NdT : Linux 2.2 supporte aussi les partitions Unixware et le système de fichiers QNX (pas très bien en écriture)).

Par ailleurs, le support "extended filesystem" (le système de fichiers utilisé par de très vieux Linux) a été retiré et remplacé par l'ext2, qui lui est supérieur à tous points de vue (NdT : quand j'ai commencé à utiliser Linux, il y a plus de 4 ans, l'extfs était déjà considéré comme obsolète). En conjonction avec le support accru des "initial ramdisks" (NdT : dits aussi initrd ; je suis preneur de toute traduction -- on me propose "ramdisque initial" et "disque virtuel de démarrage", mais je ne suis pas personnellement convaincu), un système de fichiers "romfs" a été créé. Romfs est optimisé pour la gestion de la place libre.

Bien que ce ne soit pas vraiment un système de fichiers, Linux 2.2 comprend un support étendu de la technologie RAID, qui permet d'étendre un système de fichier sur plusieurs partitions (et éventuellement plusieurs disques) de façon transparente. En plus du mode purement linéaire, Linux 2.2 connaît les modes RAID 0, 1, 4 et 5. (NdT : il s'agit du RAID logiciel, géré par le noyau sur des disques standards ; les RAID matériels sont gérés comme des disques SCSI standards, sauf s'ils utilisent une carte contrôleur spécifique, auquel cas ça dépend -- mais ce n'est vraiment pas le matériel de Monsieur toutlemonde)

2.14 Réseau II : sous le capot

Sur le front des protocoles, il y a beaucoup de nouveau, que je ne comprend pas complètement. IPv6, la prochaine version du protocole Internet, est apparu, de même que SPX, une extension d'IPX. DDP, utilisé sur les réseaux AppleTalk, a été grandement amélioré. En fait, tous les protocoles existants ont été remaniés. Si seulement je pouvais avoir besoin de tout cela... (NdT : les améliorations de performances sont impressionnantes ; avec une vraie machine (genre une UltraSparc), le routage de paquets IP avec des cartes à 1 Gbits/s est envisageable)

Peu de choses ont changé (en dehors de mises à jour ponctuelles) pour les réseaux à faible débit. PPP, SLIP, CSLIP, PLIP fonctionnent, comme toujours (NdT : il faut quand même *impérativement* utiliser une version récente des utilitaires PPP -- je le précise car l'utilisation d'une vieille version de pppd est une source constante de "bug reports" dans fr.comp.os.linux.*). Je pense que certaines choses ne peuvent plus être améliorées (NdT : faut jurer de rien).

La liste continue. Linux 2.2 contient un tout nouveau code réseau, un nouveau code de "tunneling", un nouveau système de routage et de firewall (nommé "ipchains"), un support pour limiter la consommation de bande passante, et beaucoup d'autres choses. C'est tout simplement stupéfiant. Je souhaiterais pouvoir suivre toutes ces évolutions (mais ce n'est vraiment pas possible).

On doit remarquer que les protocoles de partage de fichiers et d'imprimantes ont été sensiblement améliorés. Pour SMB (le partage de fichiers Microsoft), de nombreux bugs ont été corrigés. Si vous êtes un fan de NetWare (il y a des gens comme ça...), vous serez heureux d'apprendre que Linux 2.2 apporte beaucoup de nouveautés de ce côté, notamment le support de deux conventions de noms de fichiers longs. NFS a aussi connu ce genre de changements, aussi bien pour le serveur que pour le client (NdT : néanmoins, le client NFS est toujours en NFSv2, ce qui fait que les écritures sur un serveur Solaris ne décollent pas au-delà de 300 Ko/s :-( Mais Alan Cox travaille à l'intégration du code NFSv3 d'Olaf Kirch, ce qui résoudra élégamment le problème). Finalement, ces allumés de CMU ont beaucoup travaillé et ont conçu un nouveau système de fichiers distribué, Coda. Coda contient un grand nombre de fonctionnalités très demandées, notamment les connexions intermittentes pour portables, un cache avancé, et une gestion de la sécurité.

Dans un domaine proche, Linux 2.2 contient un pilote permettant d'exporter par réseau une partition, ce qui permet de la monter à distance (NdT : en fait, n'importe quel device (device = interface noyau de gestion d'un périphérique, cf man mknod) par blocs est exportable ainsi).

2.15 Tout le monde n'est pas anglophone

Linux 2.0 connaissait déjà différents types de clavier, et autres fonctionnalités le rendant "international". A ceci, Linux 2.2 ajoute le support des pages de codes Microsoft/UNICODE pour traduire les noms de fichiers dans l'encodage natif de Linux (qui est UTF8, un autre encodage de l'UNICODE). Pour le moment, seuls VFAT et ISO-9660 Joliet utilisent ceci (NdT : cela demande vérification, mais il serait logique que cela marche aussi pour FAT32).

2.16 Unix98 : la nouvelle génération

Linux 2.2 est maintenant un Unix plus standard sur certains points. Le plus flagrant est le support des ptys (pseudo-ttys) façon Unix98, avec un système de fichiers virtuels (devpts) et un /dev/ptmx pour créer de nouvelles entrées dans ce système de fichiers (NdT : il faut une glibc 2.1, qui n'est pas encore sortie, mais dont on possède déjà des pré-versions, la 2.0.111 par exemple).

2.17 Divers

En plus de tout ce qui a été précisé ci-dessus, il y a beaucoup de pilotes et autres changements qui ne rentrent dans aucune catégorie. En vrac, on peut citer :

** Le pilote "loopback" (qui permet de monter un fichier comme une partition) a été remanié et permet maintenant diverses manipulations (via les programmes en mode utilisateur adaptés) telles que le chiffrement automatique d'un disque.

** Un pilote permettant d'accéder à la mémoire CMOS a été ajouté à Linux 2.2 (NdT : c'est une extension du pilote "nvram" de Linux sur Atari). Un pilote similaire permettant de modifier le BIOS s'il est en mémoire EEPROM n'a pas été inclus dans le noyau (NdT : l'auteur le regrette, mais du point de vue sécurité, ce n'est peut-être pas si mal) ; pour ce genre de manipulations, il faudra continuer à utiliser une disquette msdos.

** La méthode mixte noyau/utilisateur pour charger les modules (kerneld) a été remplacée par une méthode entièrement dans le noyau, plus efficace et consommant moins de mémoire, nommée kmod (NdT : il s'agit du choix des modules à insérer ; l'insertion elle-même s'effectue toujours par un appel à modprobe, programme en espace utilisateur).


Page suivante Page précédente Table des matières