Quelques mots sur le hurd

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 ? » Mauvais points ?

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 :

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)