D'apres ce que j'ai compris, pour Hurd/L4, tout est translator alors que pour Plan9, tout est systeme de fichier. Quels avantages/inconvenients ?
Je pense qu'il faut distinguer:
1. les APIs standards offertes par un OS (Posix, Plan9FS,win32) qui sont en général toujours obtensibles, quitte à ajouter une couche de compatibilité (cf Wine/win32 pour Linux, posix pour win32 et hurd, et plan9FS pour linux et unix )
C'est donc à ce niveau qu'intervient l'API tout-fichier de plan9, plan9FS. http://v9fs.sourceforge.net/(...)
2. l'architecture interne de l'OS (taille du noyau, quantité de services en userspace ou kernelspace,...). C'est à ce niveau qu'intervient l'architecture de Hurd, avec ses serveurs en userspace qui ne compromettent pas le reste du système en cas de bug.
Maintenant c'est vrai que pour faire une application très fiable, il est tentant de s'appuyer directement sur l'interface de bas niveau d'un micronoyau simple (comme L4) et éventuellement sur un petit nombre de serveurs dont on aura audité le code.
Si un bug compromet un des autres serveurs qu'on a pas audité, on s'en fout.
[^] # Re: Hurd et Plan 9
Posté par free2.org . En réponse à la dépêche Interview de Marcus Brinkmann, développeur du Hurd. Évalué à 5.
Je pense qu'il faut distinguer:
1. les APIs standards offertes par un OS (Posix, Plan9FS,win32) qui sont en général toujours obtensibles, quitte à ajouter une couche de compatibilité (cf Wine/win32 pour Linux, posix pour win32 et hurd, et plan9FS pour linux et unix )
C'est donc à ce niveau qu'intervient l'API tout-fichier de plan9, plan9FS.
http://v9fs.sourceforge.net/(...)
2. l'architecture interne de l'OS (taille du noyau, quantité de services en userspace ou kernelspace,...). C'est à ce niveau qu'intervient l'architecture de Hurd, avec ses serveurs en userspace qui ne compromettent pas le reste du système en cas de bug.
Maintenant c'est vrai que pour faire une application très fiable, il est tentant de s'appuyer directement sur l'interface de bas niveau d'un micronoyau simple (comme L4) et éventuellement sur un petit nombre de serveurs dont on aura audité le code.
Si un bug compromet un des autres serveurs qu'on a pas audité, on s'en fout.