• [^] # Re: Velu du vendredi ?

    Posté par . En réponse à la dépêche MINIX 3 - Google Summer of Code. Évalué à 2.

    Mouaif.
    Sûr, il y a QNX. Je n'ai pas dit que les micro-noyau sont obligatoirement mauvais, mais qu'ils n'ont rien démontré lorsqu'il sagit d'un OS généraliste (desktop et serveur). S'ils ont démontré quelque chose, c'est la quasi inadaption des micro-noyau pour faire un OS généraliste.

    > mais il a aussi rejeté des arguments pour le micro-noyau sans réelles justifications (stabilité, sécurité).

    Il l'a justifié, le problème est la complexité.

    > Le micro-noyau apporte plus de sécurité et de stabilité 'by-design'.

    Ce n'est pas le design de haut-niveau qui compte, c'est la réalité.
    Un petit exemple :
    http://fr.wikipedia.org/wiki/Noyau_de_système_d'exploitation
    D’un point de vue théorique, le grand nombre de lignes de code exécutées en mode noyau engendre des problèmes de portabilité. La pratique contredit largement la théorie et les noyaux modulaires sont aujourd’hui les plus portés.

    > Il n'y a qu'à compter le nombre d'exploits noyau pour Linux,

    Mauvais argument. Compile un Linux pour l'embarquer (en virant le maximum de chose) et il n'y a qu'un très petit nombre de bug de Linux qui t'affecte. Les bugs qui t'affectent peuvent être plus probablement trouvé et plus vite si tu utilises un système très diffusé/audité.

    > suivent une courbe exponentielle

    Exponentielle par rapport à quoi ?

    > Mais plus la complexité du système augmente plus ceci devient coûteux alors que l'isolation dans des systèmes étanches permet de limiter le périmètre impacté par les bugs.

    L'argument se tient. Mais faire "des systèmes étanches" est compliqué, pas simple. Et dans quelle mesure sont-ils étanches ? Un serveur web, même dans un micro-noyau, n'est pas isolé du reste. Il doit récupérer des fichiers (donc intération avec le FS, le pilote des disques), accéder au réseau (intéraction avec la pile TCP/IP), etc.

    Linus répond à ton argument, ça commence par "Tout l'argument disant que les micro-noyaux sont "plus sécurisés" ou "plus stables" est aussi totalement grotesque".
    Le "grotesque" est un peu fort, mais on sait comment s'exprime Linus.

    Ici chaque solution a ses avantages et inconvéniants pour la stabilité et sécurité.

    Notons que Linus est dans l'objectif de faire un OS généraliste. Pas un OS qui sacrifie tout pour conserver la pureté du design.

    Chercher les performances à un coût :
    http://fr.wikipedia.org/wiki/Noyau_de_système_d'exploitation#Syst.C3.A8mes_.C3.A0_micro-noyaux (on y trouvera aussi des conneries :-))
    Le grand nombre d’appels système et la communication sous-jacente sont un défaut inhérent à la conception des micro-noyaux. Dans L4, il a été résolu en plaçant encore plus de services en espace utilisateur. La rapidité de traitement des IPC a pu être améliorée en simplifiant les communications au maximum, par exemple en supprimant toute vérification des permissions, laissant ce soin aux serveurs externes.

    Es-ce le cas de QNX ?
    Si oui, l'avantage sécurité est très discutable pour ne pas dire qu'il disparait.