Bienvenue visiteur (Inscription |  Connexion)
Qui est en ligne ?
Il y a : 18 utilisateurs en ligne, consultez le détail
Auteur Message
TrustRobot
#0 Message posté le : 17-09-2006 à 00:00:00


Scarabée


Forum : Inscrit
Association :
Arrivé(e) le : 04-07-2003
Nombre de messages : 177


Vous avez probabement déjà entendu parlé du Hurd, en tout cas vous en entendrez parler de plus en plus souvent, mais qu'est-ce donc ?

Le Hurd est une serie de serveurs qui s'exécutent au dessus d'un micro-noyau Mach, il est le maillon (fort) qu'il manque, pour compléter le système d'exploitation GNU.

1. Ce qu'est un micro-noyau :



Tout OS (Operating System = Système d'Exploitation) est sensé permettre à vos programmes de partager les ressources de la machine qu'il exploite. Il incorpore donc naturellement des mécanismes de protection de mémoire, de partage de temps, d'accès coordonnés aux périphériques d'entrées / sorties et d'autres services du même type.

Si en plus votre OS est multi-utilisateurs, il doit permettre à plusieurs personnes d'utiliser l'ordinateur simultanément (et pas uniquement chacun à son tour). Tout ceci impose, des mécanismes supplémentaires empêchant les utilisateurs de se nuire les uns les autres, tout en leur permettant le partage des ressources et l'accès aux dispositifs matériels.

Le logiciel en charge de gérer tout cela est le noyau (kernel). Dans un noyau monolithique, on fait une distinction entre le système et les applications utilisateurs. Le noyau est accessible par tous les utilisateurs via ce qu'on appelle des appels systèmes. Lorsque les applications ont besoin d'une fonctionnalité système, elles font ainsi appel au noyau.

Le noyau monolithique est en charge, de l'ordonnancement, la gestion des processus et des signaux, des entrées/sorties assurées par les périphériques, de la mémoire et de la pagination. Ce sont autant d'opérations de base requises par les autres programmes. Plus tard lorsqu'on souhaite rajouter des fonctionnalités au système, c'est encore dans le noyau qu'elles sont ajoutées et le noyau grossit à vu d'oeil.

Un micro-noyau effectue un nombre bien plus restreint d'opérations, et sous une forme plus limitée : la communication entre processus, une gestion limitée des processus et de l'ordonnancement ainsi qu'une partie des entrées/sorties de bas niveau. Au dessus du micro-noyau, sont lancés un ou plusieurs serveurs qui font l'une des tâches sorties du noyau monolithique.

Il existe plusieurs, visions, des micro-noyaux, la vision MKlinux, qui est un Micro-noyau Mach au-dessus duquel tourne un serveur linux unique, mais les problèmes liés aux noyaux monolithiques subsistent. C'est ce qu'on appelle un micro-noyau mono-serveur. La vision Hurd, qui est un Micro-noyau GNU/Mach au-dessus duquel tournent plusieurs serveurs. C'est ce qu'on appelle un micro-noyau multi-serveurs.

» Bons points ?
  • Le premier argument, en faveur des micro-noyaux a toujours été leurs portabilités, du fait qu'ils effectuent un nombre plus limité de tâches, ils embarquent moins de code spécifique à la machine et sont donc naturellement plus portables que les monolithiques.
  • Rajouter un driver à un micro-noyau multi-serveurs comme Hurd consiste à rajouter un serveur, le micro-noyau reste intact. Cela se fait à chaud sans redémarrage et sans perturber les sessions des autres utilisateurs.
  • Avec le Hurd, la quasi-totalité du système est placé dans le domaine utilisateur. Ceci implique le Hurd lui-même. Il est ainsi possible de lancer un sous-système Hurd depuis une session en marche. On appelle cela le sub-Hurd. Ainsi, plus besoin de redémarrer l'ensemble du système lors de tests. Les autres utilisateurs ne sont pas concernés et si votre implémentation déstabilise le système, cela ne concernera, au pire, que votre sous système.
  • Le Hurd est conçu de manière très modulaire et de telle sorte que chaque composante du système puisse être modifiée ou échangée comme une brique de Lego. Lorsqu'un utilisateur n'est pas satisfait des services offerts par un serveur, il est libre d'utiliser pour ses besoins un autre serveur, sans que la sécurité et la liberté des autres utilisateurs ne soient perturbées.
  • En résumé, avec Hurd chaque utilisateur est potentiellement root, il y'a autant de root simultanés que de personnes connectées à l'ordinateur simultanément. Les modifications d'un root n'affectent (généralement) pas les autres root.

» Mauvais points ?
  • Les systèmes à basent de micro-noyaux sont évidement plus complexes, plus récents et progressent donc globalement plus lentement. Linux et Hurd sont contemporains mais la différence de progression est relativement importante.
  • Le Hurd a évident des besoins en ressources bien plus élevées que celles de Linux par exemple, sa vivacité est sensiblement inférieure a ce dernier. La plus part des algorithmes sensés améliorer la vitesse d'exécution de systèmes à bases de micro-noyaux sont également implémentés dans les OS à base de noyaux monolithiques. Ce qui maintient l'écart de performances.
  • Les modules sous Linux permettent déjà une grande souplesse, dans l'ajout de fonctionnalités.
  • Aujourd'hui, plus de 80 % des potentialités du Hurd existent et fonctionnent sous Linux.
  • Enfin, les noyaux modulaires comme Linux et NetBSD battent des records de portabilité.

2. Histoire du GNU/Mach :



Mach se base sur Accent développé à l'Université de Carnegie Mellon (CMU). Accent était l'un sinon le premier micro-noyau mais il n'était pas compatible avec les standards UNIX. Mach a donc été développé pour rajouter à Accent la compatibilité Unix.

Mach est né de la fusion d'Accent et du noyau BSD 4.2. Au fur et à mesure de son développement, les composants de BSD étaient réimplémentés et remplacés par ceux de Mach. A la fin des années 80, Mach reprenait déjà une grande partie du code du noyau BSD, mais ce n'est qu'avec Mach 3 que ce code fut déplacé à l'extérieur du noyau.

Tout le code Unix fut déplacé dans le mode utilisateur sous la forme de serveurs. Il devenait alors possible d'utiliser Mach avec un un ou plusieurs serveurs et obtenir dans le cas de serveurs Unix, un Unix fonctionnel.

Hurd utilise un micro-noyau de type Mach. Il s'agit de GnuMach qui se place, en termes de fonctionnalités, entre
Mach 3 et Mach 4. Il est cependant plus proche de Mach 4 que de Mach 3.

3. Pourquoi le Hurd ?



En 1990, l'ensemble du système d'exploitation GNU est fait, à l'exception de la pièce centrale : Le noyau. L'équipe de Stallman commence alors le développement du Hurd, basé sur l'architecture du micro-noyau Mach.

Hurd est comme GNU un acronyme recursif, Hurd = Hird of Unix-Replacing Daemons et HIRD = Hurd of Interfaces Representing Depth. Du fait, du niveau d'avancement relativement faible de Mach, Hurd a progressé lentement dans ses débuts. L'arrivée de Linux, lui aussi sous GPL et très fédérateur à failli signé son arrêt de mort. N'eut été l'acharnement de Stallman, il n'y aurait plus de Hurd.

Aujourd'hui (2002), quand on se réfère au noyau on dit Mach, et on l'utilise en tant que nom propre. Quand on parle des serveurs, on dit Le Hurd. Enfin, quand on parle de l'OS entier on dit GNU/Hurd. GNU/Hurd est donc un système d'exploitation, basé sur un micro-noyau Mach au-dessus duquel tournent une horde de services nommé Hurd, fournissant un environnement compatible Unix.

Actuellement, le Hurd tourne sur des machines IA32 (architecture x86). Le Hurd devrait, être porté sur d'autres architectures ou d'autres micro-noyaux (voir OSKit-Mach et le projet L4). Hurd est en développement actif, il existe pour l'instant une unique distribution Debian GNU/Hurd, installable à titre de test.

4.Conclusion :



L'avênement du Hurd, signifie-t-il la fin de Linux ? est certainement l'une des questions que vous vous posez, la réponse est non, à deux niveaux :
  • D'abord le Hurd sait se faire désirer et se laissera encore désirer un bon moment.
  • Dans le monde du logiciel libre, les redondances sont légions et plutôt souhaitées.

5. Liens utiles :



[url=http://hurd.gnu.org ]http://hurd.gnu.org[/url](site officiel)
http://www.hurdfr.org/ (site français)
http://www.debian.org/ports/hurd/ (site du GNU/Hurd)
http://hurddocs.sourceforge.net (Docs)
http://news.hurdfr.org (Des news)
http://www.debian.org/ports/hurd/hurd-install (guide d'installation de Debian GNU/Hurd)




--Message édité par TrustRobot le 17-09-2006 à 00:00:00--