• [^] # Re: Une nouvelle très importante

    Posté par . En réponse au journal Personne n'en a parlé ? Une interface driver intelligente bientôt sous Linux !. Évalué à 4.

    Bein, pour le coup, le fait que le format soit binaire est justement la source du problème que j'essaie de te présenter : les noyaux changent trop d'un système à l'autre pour pouvoir tous les supporter sans avoir recours à la compilation conditionelle.

    Pas d'accord. Que les fonctionnalites du kernel changent c'est normal, mais il n'y a pas besoin que les interfaces changent.
    Si une fonctionalite n'est pas presente dans un kernel, l'interface retourne simplement un code d'erreur ou autre, mais l'interface elle meme n'a pas a etre liee au contenu.

    Justement, l'argument des developpeurs du kernel est qu'en supprimant les API obsolètes, il empêchent les developpeurs d'utiliser les vieux paradigmes et amélliorent la qualité du noyau.

    C'est a double tranchant. Ca permet de grosses modifications, mais ca veut dire que les drivers n'etant plus maintenu ne fonctionnent plus tres rapidement. Bref, tu ne sais jamais quand ton materiel cessera de fonctionner.

    Par exemple, la doc mentionne qu'ils sont passé d'un API synchrone a une API asynchrone, pour la gestion de l'usb.
    Alors, oui, ils auraient pu faire un API asynchrone dès le début. À condition de savoir dès le début que ce serait le meilleur choix (d'ailleurs je ne sait pas où en est windows de ce point de vu). Et si ils ne maintiennent pas l'ancienne interface c'est paske les gens qui l'utiliseraient nuiraient au performances globales du noyau (peut être à cause du temps passé à attendre, si les I/O sont bloquantes et le kernel monolithique).


    Ils peuvent toujours faire ces gros changements lors de grand milestones, c'est ce qu'on fait chez MS, mais imposer des changements d'interfaces dans des versions mineures est a mon avis contre-productif, et n'encourage pas le support de Linux par les constructeurs car il augmente les ressources necessaires pour maintenir les drivers.

    Heu, faut dire que j'aurais du mal à parler des évolutions du kernel windows, vu qu'y a pas de changelog. Mais à priori, le kernel Linux propose bien plus : PaX, Netfilter, la préemption plus ou moins mole, la fourniture d'une émulation wifi logicielle pour factoriser les drivers, Fuse, lm-sensors...

    Quand meme, il y a pas besoin de changelog, quand de nouvelles features apparaissent, MS en parle, histoire que les developpeurs les utilisent, je dirais plutot que c'est un manque d'interet de ta part.
    La tu melanges, la plupart de ces choses sous Windows ne sont pas dans le kernel a proprement parler, mais dans des drivers, tout comme la stack TCP/IP d'ailleurs, elle fait pas partie du kernel mais est un driver a part entiere.

    De l'avis de développeur du kernel, les "innovations" de la pile IP toute neuve de microsoft windows vista(tm) sont présentes depuis des lustres sous linux.
    http://vger.kernel.org/~davem/cgi-bin/blog.cgi/2006/05/13#tc(...)


    L'avis d'un dev du kernel ne veut pas dire grand-chose, certaines de ces nouveautes etaient dans Linux avant, tout comme nombre de choses nouvelles dans Linux etaient dans Windows depuis des lustres, mais certaines choses n'existent pas encore dans Linux, genre l'offload complet de connections TCP par exemple ou le routage compartimente.

    Pour Qt (et GTK?) c'est diffèrent : on est pas face à un système monolithique qui, si il est mal utilisé, fait planter/ramer tout le système. Qu'une application utilise mal Qt, et elle rameras, sans faire ramer le système.

    Je vois pas vraiment le rapport et en quoi ca autorise de changer l'interface constamment.

    Du reste, les API Qt/KDE sont bel et bien mise à jour régulièrement, avec même un version majeure tout les deux ans en moyenne (4 en 8ans). Et à mon avis pas mal de changement entre temps puisque par exemple les décorateurs de fenêtre exigent souvent KDE 3.2 .

    C'est la tout le truc, les changements d'interface arrivent une fois tous les 2-3 ans, pas tous les 2-3 mois, ca donne plein de temps aux gens pour s'adapter, ca ne prend pas constamment du temps, ca permet aux gens de planifier sur le long terme,...