Je complète les éléments postés par Frédéric plus haut (c'est ça HurdFR, tous prêts à s'épauler ;-).
Ensuite je suis tombé sur L4[6], Pistachio[7], Fiasco[8] et L4Linux[9].
Et c'est là que j'ai décroché... Quelles sont les différences ? Leur performances ? Leur (possible) avenir ?
Frédéric a plus ou moins répondu à ça. L4 est une famille de micro-noyaux. À l'origine, c'était le nom d'un micro-noyau que le très regretté Jochen Liedtke a écrit en assembleur pour x86 vers 1995. Jochen a écrit de nombreux papiers à son sujet, et il a également écrit une spécification pour ce noyau. De telle sorte que plusieurs implémentations ont vu le jour dans plusieurs laboratoires d'informatique, principalement en Allemagne (Karlsruhe et le projet L4Ka, Dresden et le projet Fiasco/DROPS) mais également chez nos amis Grands Bretons (Université de York, avec le premier port PowerPC), et même chez les Aussies (University of New South Wales, qui fournit beaucoup de documentations et de cours, et L4/MIPS).
Les spécifications ont évidemment évolué depuis, pour donner les spécifications X.0, puis X.2. L4Ka::Pistachio est l'implémentation de L4 choisie par le Hurd. Elle implémente la spécification X.2, la plus récente. La version précédente était L4Ka::Hazelnut, qui implémentait la spécification X.0. La voie choisie par Fiasco et l'Université de Dresde est différente, puisqu'ils continuent d'utiliser la spécification V2 (avec une compatibilité X.0), et se concentrent plus sur le développement de l'aspect "temps réel" (hard) de L4, dans le cadre de leur projet DROPS[0].
Quant à L4Linux, tout a presque déjà été dit. C'est un projet mené aussi bien par L4Ka que par TU-Dresden, qui vise à porter Linux sur L4. Les deux équipes ont des motivations similaires : pour TU-Dresden, c'est une partie importante de leur projet DROPS, parce que celà leur permet d'avoir la personnalité Linux classique, avec toutes les applications et fonctionnalités déjà existantes (prenez un binaire pour GNU/Linux, déposez le sur L4Linux, ça marche !) en parallèle avec leurs applications temps réel utilisant L4. C'est une façon assez simple de tester leur Fiasco, et surtout de fournir un environnement de développement efficace. Pour L4Ka, l'intérêt est d'avoir un environnement stable et complet pour que les développeurs puissent tester leurs applications pour L4, ou leurs changements dans L4, tout en disposant des fonctionnalités de Linux.
Qui plus est, L4Linux a servi de base aux tests[1] menés par L4Ka. Il est effectivement très intéressant de disposer d'une implémentation de Linux native pour x86 et de la même version, portée sur L4, pour mesurer l'overhead pur lié à l'utilisation d'un micro-noyau. Les tests ont donnés L4Linux 6 à 8% moins performant qu'un Linux natif. C'est extrêmement peu, considérant que Linux n'a jamais été conçu pour un tel usage, et donc pour tirer parti des avantages de L4 et des optimisations possibles. Considérez aussi que ces tests datent de 1997, et que L4 a énormément évolué depuis. Voilà qui ne laisse présager que du bon.
Pour l'auteur du journal, et pour les autres aussi. Cela fera bientôt l'objet d'une news DLFP, mais sachez que HurdFR existe bel et bien et est actif. N'hésitez pas à vous inscrire, posez vos questions, participer sur la liste d'HurdFR[2] (les archives ont été perdues récemment, ne cherchez pas... snif.), ou sur IRC[3]. N'hésitez pas non plus à adhérer ;-)
# Des éléments de réponse plus détaillés
Posté par Manuel Menal . En réponse au journal GNU/Hurd c'est quoi au fait ?. Évalué à 7.
Ensuite je suis tombé sur L4[6], Pistachio[7], Fiasco[8] et L4Linux[9].
Et c'est là que j'ai décroché... Quelles sont les différences ? Leur performances ? Leur (possible) avenir ?
Frédéric a plus ou moins répondu à ça. L4 est une famille de micro-noyaux. À l'origine, c'était le nom d'un micro-noyau que le très regretté Jochen Liedtke a écrit en assembleur pour x86 vers 1995. Jochen a écrit de nombreux papiers à son sujet, et il a également écrit une spécification pour ce noyau. De telle sorte que plusieurs implémentations ont vu le jour dans plusieurs laboratoires d'informatique, principalement en Allemagne (Karlsruhe et le projet L4Ka, Dresden et le projet Fiasco/DROPS) mais également chez nos amis Grands Bretons (Université de York, avec le premier port PowerPC), et même chez les Aussies (University of New South Wales, qui fournit beaucoup de documentations et de cours, et L4/MIPS).
Les spécifications ont évidemment évolué depuis, pour donner les spécifications X.0, puis X.2. L4Ka::Pistachio est l'implémentation de L4 choisie par le Hurd. Elle implémente la spécification X.2, la plus récente. La version précédente était L4Ka::Hazelnut, qui implémentait la spécification X.0. La voie choisie par Fiasco et l'Université de Dresde est différente, puisqu'ils continuent d'utiliser la spécification V2 (avec une compatibilité X.0), et se concentrent plus sur le développement de l'aspect "temps réel" (hard) de L4, dans le cadre de leur projet DROPS[0].
Quant à L4Linux, tout a presque déjà été dit. C'est un projet mené aussi bien par L4Ka que par TU-Dresden, qui vise à porter Linux sur L4. Les deux équipes ont des motivations similaires : pour TU-Dresden, c'est une partie importante de leur projet DROPS, parce que celà leur permet d'avoir la personnalité Linux classique, avec toutes les applications et fonctionnalités déjà existantes (prenez un binaire pour GNU/Linux, déposez le sur L4Linux, ça marche !) en parallèle avec leurs applications temps réel utilisant L4. C'est une façon assez simple de tester leur Fiasco, et surtout de fournir un environnement de développement efficace. Pour L4Ka, l'intérêt est d'avoir un environnement stable et complet pour que les développeurs puissent tester leurs applications pour L4, ou leurs changements dans L4, tout en disposant des fonctionnalités de Linux.
Qui plus est, L4Linux a servi de base aux tests[1] menés par L4Ka. Il est effectivement très intéressant de disposer d'une implémentation de Linux native pour x86 et de la même version, portée sur L4, pour mesurer l'overhead pur lié à l'utilisation d'un micro-noyau. Les tests ont donnés L4Linux 6 à 8% moins performant qu'un Linux natif. C'est extrêmement peu, considérant que Linux n'a jamais été conçu pour un tel usage, et donc pour tirer parti des avantages de L4 et des optimisations possibles. Considérez aussi que ces tests datent de 1997, et que L4 a énormément évolué depuis. Voilà qui ne laisse présager que du bon.
Pour l'auteur du journal, et pour les autres aussi. Cela fera bientôt l'objet d'une news DLFP, mais sachez que HurdFR existe bel et bien et est actif. N'hésitez pas à vous inscrire, posez vos questions, participer sur la liste d'HurdFR[2] (les archives ont été perdues récemment, ne cherchez pas... snif.), ou sur IRC[3]. N'hésitez pas non plus à adhérer ;-)
[0]: http://os.inf.tu-dresden.de/drops/overview.html(...)
[1]: http://l4ka.org/publications/paper.php?docid=650(...)
[2]: https://lists.hurdfr.org/mailman/listinfo/hurdfr(...)
[3]: #hurdfr sur irc.freenode.net