Le monde merveilleux de Linux 2.6

Posté par . Modéré par Nÿco.
0
22
juil.
2003
Noyau
Dans la grande traditions des "mondes merveilleux de Linux", voici la fournée pour le 2.6. Cet article présente en détails les modifications qui ont eu lieu dans la phase de développement 2.5.

Au menu : multiple platform support, Linux internals, unified device model, core hardware support, block device support, input / output devices & software improvements.

Aller plus loin

  • # Re: Le monde merveilleux de Linux 2.6

    Posté par (page perso) . Évalué à 1.

    Quelqu'un sait-il s'il existe une telle liste de modifications du kernel 2.4 => 2.6 en Français ? Tout le monde ne parle pas anglais courament...

    Merci d'avance.
    • [^] # Re: Le monde merveilleux de Linux 2.6

      Posté par (page perso) . Évalué à 1.

      Oui là :-p
      La traduction est un peu comique ! Mais ca aide.
      http://babelfish.altavista.com/babelfish/urltrurl?url=http%3A%2F%2F(...)

      Y.
      • [^] # [HS] traduction

        Posté par (page perso) . Évalué à 0.

        Ahhhhh, je viens de me rendre compte que Babelfish et Google utilisent le même moteur !
      • [^] # Re: Le monde merveilleux de Linux 2.6

        Posté par . Évalué à 0.

        Hormis le style innoubliable des traductions de babelfish, reste qu'a environ 1/4 de la traduction on a droit a ca:

        Bien que complètement inconnu aux USA, versions des produits de Microsoft vers le haut jusqu'à Windows 95 ont été mis en communication pour courir sur ce matériel. La ligne a été officiellement discontinuée près *** TRANSLATION ENDS HERE ***the manufacturer in favor of more "standard" PCs

        .
      • [^] # Re: Le monde merveilleux de Linux 2.6

        Posté par . Évalué à 1.

        Babelfish ::

        Bien qu'il semble comme seulement hier celui que nous rejetions vers le haut de notre premier Linux 2.4 systèmes, le temps a fait tic tac près et l'équipe de développement de grain est en voie d'achèvement du grain v2.6. Ce document essayera de décrire plusieurs des nouveaux dispositifs du grain 2.6 (avec une polarisation lourde vers le port i386 de Linux.) À la différence des annonces de prerelease du logiciel de fermé-source, tous les dispositifs décrits ici sont disponibles maintenant (encore plus exempt d'erreurs que d'autres) au noyau de développement de Linux 2.5. (par la tradition de Linux, les grains pairs sont "écurie" et pour des systèmes de production, tandis qu'impairs les grains numérotés sont pour l'intrépide seulement.) Qu'étant dits, certains des dispositifs décrits ici pourraient être enlevés ou encore marqués comme "expérimentaux" dans le dégagement 2.6 réel.


        Au début ça va mais après on a vite envie de repasser à la version anglaise :-/...
  • # Re: Le monde merveilleux de Linux 2.6

    Posté par (page perso) . Évalué à 7.

    Bien sûr que c'est un monde merveilleux, un monde où l'on le droit de tout connaitre et de tout explorer.
    C'est aussi le plus merveilleux des OS, disponible sur toutes les architectures de 32 et 64 bits.
    C'est le système qui grandit le plus vite, qui permet à chacun de participer à la grande aventure du 21ème siècle.
    Oui Linux et les Logiciels Libres sont merveilleux !
  • # Re: Le monde merveilleux de Linux 2.6

    Posté par . Évalué à 6.

    Je comparerais volontiers Linux à un enfant :)

    Tu passes tu temps à l'élever (le configurer) à le corriger si besoin est (recompiler le noyau) tu lui apprends sans cesse de nouvelles choses (mises à jour), et à la fin, il devient un homme (système nickel) et tu es super heureux !!

    Pardonnez moi si c'est nul...
    • [^] # Re: Le monde merveilleux de Linux 2.6

      Posté par (page perso) . Évalué à 6.

      et encore après, il s'occupe de toi, devenu trop vieux. Il va gérer ta pension et ton placement en maison de retraite si tu deviens trop gateux que pour bien t'en occuper.

      (c'est aussi nul, mais j'aime bien ;-) )
    • [^] # Re: Le monde merveilleux de Linux 2.6

      Posté par . Évalué à 4.

      ça laisse sous-entendre que l'enfantement est un peu difficile non ?
      Heureusement, on a inventé la péridur^H^H^H^H^H^HKnoppix/Mandrake/....
    • [^] # Re: Le monde merveilleux de Linux 2.6

      Posté par . Évalué à 3.

      Et en général (enfin pour moi, c'est souvent comme ça que ça se passe), au moment ou il est mûr, il y a son petit frère qui sort et qui parrait bien plus prometteur alors ben tu recommence tout avec le suivant....

      \begin{ma vie}
      Ça fait 5 ans que j'ai pas eu un vrai système stable et opérationnel (comprennez au sens industriel du terme), quelque soit l'os d'ailleurs, il y a toujours quelques applis en beta qui foutent le bor*l dans leur grande soeur stable, une partition en live qui attend la prochaine distrib à la mode, etc etc, c'est dur d'être un geek (surtout pour les machines...)
      \end{ma vie}
      • [^] # Re: Le monde merveilleux de Linux 2.6

        Posté par . Évalué à 3.

        Tiens c'est marrant, mais je fais la meme chose à la maison...du coup je grave beaucouop, beaucoup (combien de fois j'ai planté des durs en les débranchant à chaud????). mais bon, c'est vrai que hormis les coupures électriques dans ma cité U, je reboote rarement (ah si, pour une nouvelle version de la kernelle peut etre...)
  • # Re: Le monde merveilleux de Linux 2.6

    Posté par . Évalué à 2.

    Attention, l'informatique monte au cerveau, on peut facilement tomber dans la matrice si on ne fait pas attention.

    Bientot le noyau 5.8 qui prend en charge les nouveau grille-pain usb

    c'est nul :)
  • # Intermezzo

    Posté par . Évalué à 3.

    Ce système de fichier distribué est pour moi une avancée très prometeuse. Quelqu'un l'aurait il deja utiliser?
    • [^] # Re: Intermezzo

      Posté par . Évalué à 3.

      intermezzo est déjà présent dans le 2.4, je crois même qu'un article est passé dans Linux Mag dessus.

      "La première sécurité est la liberté"

      • [^] # Re: Intermezzo

        Posté par . Évalué à 3.

        mais il me semble que le souci avec les acls a été reglé ds le 2.6
        Je me vois encore en train de galerer avec mes patchs...
    • [^] # Re: Intermezzo

      Posté par . Évalué à 3.

      J'ai déjà eu l'occasion de le tester, mais il a besoin d'un serveur Apache... Je trouve que ça n'est pas l'idéal pour un serveur de fichiers (note, il doit être possible d'utiliser un autre serveur qu'Apache, mais bon...).
      Ça n'est clairement pas utilisable en production, et par exemple, dans les tests que j'ai réalisé fin avril, si on essayait de remplir le cache du client avec un fichier de taille supérieure au cache, il fallait devenir root pour débloquer la situation (Intersync 0.9.5, Apache 1.3.27, Linux 2.4.19, le tout sur une Slackware presque 9). Je n'ai pas trouver le moyen de ne pas mettre en cache certains fichiers.

      Moins mature que Coda, mais néanmoins, c'est à suivre (et à tester).

      Un article pour la mise en place d'Intermezzo (cf. les news du site d'Intermezzo)
      http://www.linuxplanet.com/linuxplanet/reports/4368/1/(...)
  • # Re: Le monde merveilleux de Linux 2.6

    Posté par . Évalué à 10.

    J'ai beaucoup aimé le passage sur la nouvelle gestion des périphériques.

    En gros jusqu'au 2.2 les drivers se débrouillaient un peu comme ils le pouvaient pour gérer leurs périphériques.

    A partir du 2.4 une approche commune a été proposée, et dans le 2.6 il y aura une arborescence unique des périphériques gérés par les drivers chargés.

    Tout ça servira les outils de configuration automatique qui font la joie des utilisateurs des Knoppix et autres :)

    BeOS le faisait il y a 15 ans !

  • # Pour les portables...et ceux qui en ont marre que leur disque dur tourne tt le temps

    Posté par . Évalué à 3.

    << The journal commit time for the [ext3] filesystem can now be tuned to be more suited for laptop users >>

    Cool !!!
  • # Root isn't the master.

    Posté par . Évalué à 2.

    La suprématie de root pourra enfin prendre fin grâce à la modularisation des droits.

    Enfin, c'est ce que j'ai compris.
  • # Re: Le monde merveilleux de Linux 2.6

    Posté par . Évalué à 10.

    The protocol itself is made up of two different data link types: SCO, or "Synchronous Connection Oriented", for lossy audio applications; and L2CAP, or "Logical Link Control and Adaptation Protocol", for a more robust connection supporting retransmits, etc

    Ah ! Démasqué ! Comme quoi SCO a bien raison ! Ils sont bien présent dans le kernel !
  • # Re: Le monde merveilleux de Linux 2.6

    Posté par (page perso) . Évalué à 1.

    hum c vrai qu'il accelere bien ce noyau mon amd 600Mhz mais heu... je pige pas... j'arrive plus a faire fonctionner mon modem serie avec.. bizzar...
  • # Re: Le monde merveilleux de Linux 2.6

    Posté par . Évalué à 9.

    voici ce que j'en ai compris ( avec les fautes en plus) :

    1) meilleurs scalabilité et mieux adapté aux gros serveurs:
    * avec les PID passant de 32000 à 1 milliards
    * gère des FileSystem de plus 2TB
    * amélioration des balacing (pas compris) d'IRQ pour les multi-proc

    2) meilleur interactivité et temps de réponse du noyau (à mon avis c'est vraiment important)
    * Toutes actions exécutées, par le système dans le noyau (pour les versions < 2.6), ne pouvaient être interrompues. Maintenant, il est possible de les interrompre (sauf dans certains blocs accès I/O pour éviter les races conditions). Ceci est très important pour avoir une sensation de rapidité notamment pour les PC bureautisés avec linux.
    * Ils ont défini des nouveaux mutuex spécifique pour les applications fonctionnant dans l'espace mémoire utilisateur. Ces mutex peuvent être sérialisé lors d'événements importants.

    3) autres améliorations
    * amélioration des I/O
    * amélioration pour le multi-proc
    * amélioration du multi-threading (maintenant c'est POSIX)
  • # Re: Le monde merveilleux de Linux 2.6

    Posté par . Évalué à 1.

    Je n'ai rien vu à propos d'IPTables/Netfilter... Ça change beaucoup ou non ?
    Et est-ce que le suivi de connexion sera implémenté pour IPv6 ?
  • # Re: Le monde merveilleux de Linux 2.6

    Posté par . Évalué à 2.

    Pas mal d'innovations par contre y a des choses sur lesquelles je ne suis pas d'accord :
    1- Pourquoi abandonner le support des SoundModem et les faire gerer dans l'user space ?

    2- Pourquoi empecher les modules non GPL de modifier les tables d'appels systemes pour le fonctionnement des peripheriques ? Cela ne risque t-il pas d'eloigner encore un peu plus certains constructeurs qui voulaient developper leurs propres drivers sous Linux ?

    Quelqu'un pourrait m'expliquer ?
    • [^] # Re: Le monde merveilleux de Linux 2.6

      Posté par . Évalué à 4.

      > «2- Pourquoi empecher les modules non GPL de modifier les tables d'appels systemes pour le fonctionnement des peripheriques ?»

      Le problème est le suivant : imaginons qu'une fonction F soit implémentée dans le noyau, s'il était possible de modifier les tables d'appels systèmes, le driver pourrait proposer sa propre implémentation de cette fonction F.

      On pourrait penser que ce n'est pas trop génant, mais ça veut donc dire qu'on peut court-circuiter une grosse partie du kernel. Et si jamais plein de drivers se mettent à utiliser cette nouvelle implémentation, celle-ci devient indispensable de fait, et le kernel, dans les faits, serait partiellement propriétaire !!
      Bref, en interdisant de modifier les tables d'appels systèmes, le message est clair : soit vous partager, soit on ne veut pas de votre travail, car nous resterons libres. Autoriser l'existence de module non GPL est déjà un égard bien suffisant dans les conditions exposées.
  • # Re: Le monde merveilleux de Linux 2.6

    Posté par . Évalué à 9.

    Un petit texte que j'avais écris sur le 2.6 (en francais !!) avec pleins de fautes et d'omissions, et sans rentrer dans les détails des mécanismes internes (genre sysfs et kobject)
    en espérant que ca peut servir ....


    Nouveau dans le noyau 2.6
    =========================

    http://lwn.net/Articles/17846/(...)

    Objectifs :
    -----------
    Meilleur comportement en cas extrèmes
    Meilleur support des architectures "importantes" (multi-proc, plein de mémoire
    plein de disque, plein de process)
    Entrées sorties asynchrones (pour BDD)
    Network driver API plus résistante
    Intégrer des systèmes de fichiers plus performants
    VM, bien sûr, à améliorer
    Power Management


    Ce que ça change pour le end-user?
    ----------------------------------
    Une plus grande réactivité du système, grace au "preempt kernel" et au low-latency patches.

    meilleur comportement dans cas extrèmes (VM)
    mais demande plus de mémoire (rmap).
    Plus de drivers (USB 2.0, ALSA)
    Plus de performances concernant les entrées/sorties (nouvel élévateur, nouveaux systèmes de fichiers, nouvelle VM)
    Comportement des Serveurs amélioré (JVM) ( O(1) patches, scalability)




    File system
    ===========
    support de XFS
    --------------
    (système de fichier journalisé de SGI, 64 bits)

    support de JFS
    --------------
    encore un système de fichier journalisé


    support de ReiserFS v4
    ----------------------
    a) support de plugins (sécurité, cryptage....)
    b) plus rapide
    c) atomicité et rollback (du monde des BDDs)
    d) de plus en plus proche des BDDs
    http://www.namesys.com(...)


    ext2/ext3 attributs étendus
    ---------------------------
    (ACL, security)
    Les perfs de ext2/3 on aussi été grandement améliorées.

    inclusion de EVMS
    -----------------
    Enterprise Volume Management System.
    Système de fichier virtuel (vfs) permettant une gestion fine des ressources disques, de créer des VFS sur plusieurs disques (assez proche du RAID logiciel, mais plus général)


    Process & scheduling
    ====================
    1) plus de limitations sur le nombre de thread (2048 > autant qu'on veut)

    2) O(1) scheduler
    -----------------
    Le temps d'éxectuion du scheduler ne dépend plus du nombre de process courant;
    c'est surtout utile sur des machines ou il y a plein de process qui tournent.
    Le nouveau scheduler détecte aussi les process interactifs via des statisitiques et s'assure que ceux-ci ne sont pas bouffés par un process qui demande beaucoup de CPU.
    http://www.kerneltrap.org/node.php?id=517(...)

    3) moins de big kernel lock
    ---------------------------
    ==> moins de latence
    c'était un mécanisme qui permettait de s'assurer que la partie de code qu'on est en train d'exécuter ne serait pas stoppée, en utilisant cli/sti notamment.
    C'est remplacé par des lock plus fins

    4) preemption à l'intérieur du kernel
    -------------------------------------
    le kernel devient preemptif, 2 threads peuvent executer la même portion de code
    On utilise des spinlock pour marquer les zones d'exclusion.
    Si le kernel est en train d'éxécuter un tache et qu'il est interrompu par une interruption de priorité supérieure, il va éxécuter cette nouvelle tache
    Ce patch réduit la latence du kernel

    4) native posix thread library for linux
    ----------------------------------------
    ==> multi-threading se fait au niveau du kernel (à la différence de la libpthread actuelle)
    Supporte une nouvelle API de thread POSIX.
    per-thread core dump, mutex, signaux

    grosses améliorations sur les serveurs multi-threadés (Java, apache)

    5) autres algorithmes O(1)
    -------------------------
    PID allocateur
    sys_exit
    VM page aging, laundering


    Virtual mem
    ===========
    1) reverse mapping
    ------------------
    (liste de pages utilées ==> process)
    Dans les VM précédentes, on a une liste process ===> pages utilisées
    rmap ===> chaque pageon associe le process qui l'utilise
    Cela améliore les performances principalement quand le système veut libérer
    les pages dans une zone spécifique, en identifiant quelles pages sont utiles
    ou pas.
    http://linux.html.it/articoli/rik_van_riel_en2.htm(...)

    2) meilleur support des multi-proc
    ----------------------------------

    3) NUMA
    -------
    meilleur support des architectures multi-processeurs avec zones de mémoire
    discontinues (une RAM par processeur)



    Networking
    ==========
    1) NAPI new API
    -------
    ftp://robur.slu.se/pub/Linux/net-development/NAPI/converting-to-NA(...)
    www.cyberus.ca/~hadi/usenix-paper.tgz
    Il s'agit d'une nouvelle interface de programmation des drivers réseaux

    En gros, quand la pile requierd des paquets d'une interface il lance
    dev->poll(device,budget)
    budget etant le nombre de paquets que le drivers peuvent recevoir avant de
    rendre la main a la pile TCP/IP
    Quand on recoit un paquet :
    a) on desactive les interruptions (paquets qui arrive)
    b) on l'ajoute le device a la liste des devices qui peuvent etre "pollées"


    Quand on "polle" un device :
    a) on regarde si on a encore du budget; si non, on renvoie "not done"
    b) on transmet tous les paquets a la pile TCP/IP
    c) on modifie le quota du device
    d) si plus de packets, on réactive les interruptions

    ce mécanisme permet un bien meilleur comportement en cas de charge importante,
    ou la machine peut s'écrouler sous la charge (PII, 60000 paquets/sec)
    le processeur ne passe pas son temps à "acknowledger" les interruptions
    Mais c'est aussi très efficace avec des charges normales.
    De plus le mécanisme de budget permet d'assurer la "fairness" entre les interfaces.

    supporté sur e1000, 3cr990

    2) Intégration de HTB en standard
    ---------------------------------
    HTB = hierarchical token bucklet, un excellent "packet scheduler",
    plus simple que CBQ
    http://luxik.cdi.cz/~devik/qos/htb(...)
    (aussi dans 2.4.20)

    3) IPSEC
    --------
    ce n'est pas freeswan, c'est tiré du USAGI (groupe qui travaille sur ipv6)
    c'est couplé avec l'interface cryptoAPI
    Possibilité d'interfacer avec les démons IKE (pluto) de chez freeswan
    Mais ca marche super bien avec le port du projet KAME *BSD
    http://sourceforge.net/projects/ipsec-tools/(...)

    4) IPv6 mieux supporté
    ----------------------
    - support des addresses anycast
    - IPsec (transport mode et tunnel mode)
    - ICMPv6 Node Information Queries
    - Privacy Extensions (RFC 3041) pour address autoconfiguration
    - better source address selection
    - ISATAP, Intra-Site Automatic Tunnel Addressing Protocol
    - IPv4 et/ou IPv6 over IPv4 tunnel
    - IPv4/IPv6 socket binding sur le même port
    - dropping IPv6 packets with malicious address(es)
    - default route when IPv6 forwarding is enabled
    - meilleur support NDP(Neighbor Discovery Protocol)
    - meilleur support du Stateless Address Auto-configuration
    - RFC2553 / RFC2553bis APIs support (décrit l'interface socket au niveau prog)
    - RFC2292 / RFC2292bis APIs (options avancées sur les sockets ipv6)
    - applications IPv6 (ping, traceroute)

    http://www.networksorcery.com/enp/protocol/ipv6.htm(...)
    http://www.linux-ipv6.org/(...)

    5) meilleur support 802.11
    --------------------------
    Bug fixes......

    6) NFSv4
    --------
    Nouvelle version de NFS

    7) CIFS
    -------
    linux marchera t'il mieux que la bouse de chez Redmond?

    8) CryptoAPI
    ------------
    Une API de cryptographie pour IPSEC, mais aussi les cryptedFS
    aujourd'hui SHA1, MD5, DES,3DES,AES, blowfish
    http://samba.org/~jamesm/crypto/(...)

    9) ebtables
    -----------
    ebtables est l'équivalent de iptables pour se qui est du filtrage sur un linux
    en mode bridge; (règles par MAC, brouting)

    http://users.pandora.be/bart.de.schuymer/ebtables/(...)

    10) TCP segmentation
    --------------------
    permet de d'envoyer a la carte des buffers plus grands que le MTU (64k); C'est la carte elle-même qui se charge de couper les paquets en "petits bouts" en utilisant le header global ==> moins de traitement pour le kernel
    (c'est pas de la fragmentation)
    Supporté sur e1000, 3com 3cr990.


    11) support du MPLS
    -------------------
    Linux 2.6 devrait intégrer en standard le support du MPLS


    USB
    ===
    2.0

    Divers
    ======
    User mode linux
    Son : ALSA
    AMD 64 bits
    PPC 64 bits
    nouveau système de gestion des modules (ca se fait dans le kernel)


    4) Software suspend
    -------------------
    Permet de sauvegarder l'état mémoire de la machine de le sauvegarder
    sur le swap; au reboot d'après, retour dans le même état

    http://falcon.sch.bme.hu/~seasons/linux/swsusp.html(...)
    http://fchabaud.free.fr/English/(...)

    5) ACPI
    -------
    advanced configuration power interface
    http://acpi.sourceforge.net/(...)
    http://www.columbia.edu/~ariel/acpi/acpi_howto.txt(...)


    Block device
    ============
    1) New IO scheduler
    -------------------
    portion de code qui décide l'ordre dans lequel les requètes disque seront processées
    Maintenant, on a un "anticipory scheduler" qui fait cela :
    quand il y a un "read", on le met dans les premiers dans la queue. Apres
    l'avoir servi, on ne fait rien pendant un cours instant (ie on ne repos
    itionne pas les tete pour effectuer un write) au cas ou il y a aurait
    un autre read près (ce qui est tres fréquent empiriquement). Si c'est le cas,
    on le sert immédiatement, sinon on timeout on reprend.
    Ce scheduler booste de facon tres impressionante les perfs I/O
    (ordre de grandeur minutes ==> sec pour read quand il y a des write etc..)
    Le seul cas un peut déterioré est quand il a un streaming de read et
    qu'on veut faire un write .
    en général, l'AS est meilleur sauf pour les BDD

    http://www.kerneltrap.org/node.php?id=567(...)
    http://www.cs.rice.edu/~ssiyer/r/antsched/(...)

    2) UDF write support CD-R/W
    ---------------------------
    comment graver ces CD R/W comme un porc......

    3) asynchronous IO
    ------------------
    (en gros une app lance une requète IO et n'attend pas qu'elle revienne); elle est notifié plus tard par signal
    Utile pour BDD, serveurs... (avant, on utilisait des threads pour simuler cela
    ce qui etait très peu efficace)

    4) plus de limite a 2TB
    -----------------------
  • # Re: Le monde merveilleux de Linux 2.6

    Posté par . Évalué à 1.

    J'ai pas cru voir l'adresse pour la traduc :
    http://dsoulayrol.free.fr/(...)

    dr freuderick

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.