Hurd
Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.
Principaux systèmes
d'exploitation
BSD
FreeBSD - NetBSD - OpenBSD
DragonFly BSD - PC-BSD
GNU/Linux (Liste)
Debian (Debian (/de.bjan/) est une organisation communautaire et démocratique, dont le but est le développement d'un système d'exploitation basé exclusivement sur des logiciels libres.) - Fedora - Gentoo
Mandriva (Mandriva (anciennement Mandrakesoft) est une société française éditrice de la distribution GNU/Linux Mandriva Linux, dont l'un des principes est la simplicité...) - Red Hat (Red Hat est une société multinationale d'origine américaine éditant des distributions Linux. Elle est l’une des entreprises...) - Slackware
SuSE - Ubuntu (Ubuntu (prononciation [ubuntu], c'est-à-dire « ou-boun-tou » en prononciation française) est un système...)
Mac OS (Mac OS (pour Macintosh Operating System) est le nom du système d'exploitation d'Apple pour ses ordinateurs Macintosh. Il est surtout connu pour être le...)
Système 5 - 6 - 7 - 8 - 9
Mac OS X (Mac OS X est une ligne de systèmes d’exploitation propriétaire développés et commercialisés par Apple, dont la version la plus récente...) -.0 -.1 -.2 -.3 -.4 -.5 - Server
MS-DOS (DOS disk operating system est le nom générique employé pour désigner les anciens systèmes d'exploitation dont les fonctionnalités étaient orientées manipulation aisée des périphériques contenant des fichiers.) - Microsoft Windows (Windows (littéralement « Fenêtres » en anglais) est une gamme de systèmes d’exploitation produite par Microsoft, principalement...)
1.0 - 2 - 3.x - 95 - 98 - Me
NT - 3.5x - 4.0 - 2000
XP - 2003 - Vista
2008 (prochainement)
Seven (en développement)
Autres
AmigaOS (AmigaOS est le système d'exploitation natif des ordinateurs Amiga. Bien que ce modèle d'ordinateur ait radicalement changé (passage au PowerPC), le système est toujours maintenu...) - BeOS (BeOS est un système d'exploitation développé par la société américaine Be Inc., fondée par le français Jean-Louis Gassée, un ex-dirigeant d'Apple à partir de 1991. Initialement conçu pour un...) - Inferno
LynxOS (LynxOS est un système d'exploitation temps réel et de style UNIX de la société LynuxWorks pour systèmes embarqués. Parfois appelé tout simplement...) - Haiku OS - OS/2 (OS/2 est un système d'exploitation créé par Microsoft et IBM, qui ensuite a été développé par IBM seul. Le nom OS/2 signifie Operating System/2 (operating system signifie...)
QNX - Solaris - UNIX - MVS
OS/360 (OS/360 était un système d'exploitation développé par IBM pour leur nouvelle série d'ordinateurs System/360, annoncée en 1964. OS/360 a été parmi les premiers systèmes d'exploitation à nécessiter...) - OS/390 - OS/400 (OS/400 est le système d'exploitation d'IBM conçu pour ses machines de la gamme AS/400, iSeries et i5 (ou System i). Il s'agit d'un système dédié à l'informatique de...) - Plan 9 (Plan 9 from Bell Labs, appelé usuellement Plan 9, est un système d'exploitation expérimental développé par Bell Labs, le descendant de Unix Time-Sharing System. Ce n'est cependant pas un Unix, malgré...)
ReactOS (ReactOS est un projet de système d'exploitation en développement se voulant compatible avec les programmes et pilotes Microsoft Windows.) - VMS - ZETA (ZETA est un système d'exploitation de la société allemande YellowTAB. Il est une évolution de BeOS.) - FreeDOS (FreeDOS a pour but d'être un système d'exploitation complet, libre, et 100% compatible MS-DOS.)

Le Hurd (Le Hurd est un ensemble de programmes et de bibliothèques servant de base au système d'exploitation GNU. C'est un logiciel libre, soumis à la licence GPL.) est un ensemble (En théorie des ensembles, un ensemble désigne intuitivement une collection d’objets (les éléments de l'ensemble), « une multitude qui peut être comprise comme un tout », comme...) de programmes et de bibliothèques servant de base au système d'exploitation GNU (GNU est un système d'exploitation composé exclusivement de logiciels libres.). C'est un logiciel libre (Un logiciel libre est un logiciel dont l'utilisation, l'étude, la modification, la duplication et la diffusion sont universellement autorisées sans...), soumis à la licence GPL.

Le but recherché est de remplacer les fonctionnalités d'un noyau de type UNIX, tout (Le tout compris comme ensemble de ce qui existe est souvent interprété comme le monde ou l'univers.) en maintenant une large compatibilité avec ceux-ci. Il respecte autant que possible les spécifications POSIX (POSIX est le nom d'une famille de standards définie depuis 1988 par l'IEEE et formellement désignée IEEE 1003. Ces standards ont émergé d'un projet de standardisation des APIs des logiciels destinés à...), tout en évitant les restrictions d'action arbitrairement imposées à l'utilisateur.

Le nom " Hurd " est un double acronyme récursif, " Hurd " signifiant " Hird of Unix-Replacing Daemons ", et " Hird " " Hurd of Interfaces Representing Depth ".

Architecture (L’architecture peut se définir comme l’art de bâtir des édifices.) à micro-noyau

Contrairement aux noyaux UNIX classiques, essentiellement monolithiques, le Hurd se fonde sur un micro-noyau, qui fournit uniquement les fonctions de base (accès basique au matériel et à la mémoire (D'une manière générale, la mémoire est le stockage de l'information. C'est aussi le souvenir d'une information.), gestion des tâches et de la communication (La communication concerne aussi bien l'homme (communication intra-psychique, interpersonnelle, groupale...) que l'animal (communication intra- ou inter- espèces) ou la machine (télécommunications, nouvelles technologies...), ainsi que leurs...) entre celles-ci). Il se compose d'une série de services (appelés serveurs), fournissant des fonctions et des abstractions de plus haut niveau (système de fichiers, processus Unix, gestion des permissions, console, pilotes évolués...). Cette conception est donc plus modulaire et plus facile à faire évoluer dynamiquement. Cependant, ces serveurs indépendants doivent fréquemment communiquer, ce qui affecte les performances du système.

Actuellement, le micro-noyau utilisé est GNU Mach, mais les efforts sont dirigés vers le portage du Hurd sur le micronoyau L4.

Il existe d'autres systèmes de type UNIX utilisant Mach, tels OSF/1, NeXTSTEP (NeXTSTEP est le système d'exploitation des ordinateurs conçus par NeXT, basé sur un micro-noyau Mach, un environnement BSD 4.3 et une interface graphique efficace fondée sur le Display PostScript.), Lites (voir (en) lites) et MkLinux. Ils ont en commun une architecture basée sur le modèle serveur : le noyau monolithique (Un monolithe est un élément fait d'un seul bloc de pierre de grande dimension. Son nom vient du grec ancien λιθος -lire lithos-(la pierre).) du système UNIX traditionnel est ainsi remplacé par deux composants distincts, le micro-noyau et un serveur monolithique qui fournit la compatibilité Unix (BSD le plus souvent, sauf évidemment pour MkLinux). Mac OS X utilise également Mach comme base de son noyau monolithique xnu.

Spécificités du Hurd

Le Hurd se compose donc d'un ensemble de serveurs fonctionnant en interaction (Une interaction est un échange d'information, d'affects ou d'énergie entre deux agents au sein d'un système. C'est une action réciproque qui suppose l'entrée en...). Au lieu d'un seul programme imposant incluant absolument tout, de la gestion du synchronisme (Le synchronisme désigne le caractère de ce qui se passe en même temps, à la même vitesse. L'adjectif synchrone définit deux processus qui se déroulent de manière synchronisée.) jusqu'au réseau (Un réseau informatique est un ensemble d'équipements reliés entre eux pour échanger des informations. Par analogie avec un filet (un réseau est un « petit rets », c'est-à-dire un petit filet), on appelle nœud (node)...), chacun de ses composants est géré par un serveur indépendant. Chaque serveur fournit un certain nombre (La notion de nombre en linguistique est traitée à l’article « Nombre grammatical ».) de services, sous formes d'appels (RPC). Ces appels sont organisés en interfaces. Ces interfaces sont définies indépendamment des serveurs fournis par le Hurd : elles sont censées être stables (elles n'ont changé qu'une seule fois depuis 1999) et documentées.

Cela rend en principe le développement du Hurd plus facile. Pour remplacer un composant, il suffit de créer un serveur implantant ces mêmes interfaces. On peut aussi remplacer et/ou modifier les composants non essentiels (la majorité) sans arrêter le système. De plus, si l'un des composants plante (Les plantes (Plantae Haeckel, 1866) sont des êtres pluricellulaires à la base de la chaîne alimentaire. Elles forment l'une des subdivisions (ou règne) des Eucaryotes. Elles...), il ne doit pas entraîner l'ensemble du système.

Dans le développement initial de Mach, cette idée d'un ensemble de serveurs interagissant était considérée comme un des buts principaux concernant le design (Le design (la stylique en français) est un domaine visant à la création d'objets, d'environnements ou d'œuvres graphiques, à la fois fonctionnels, esthétiques et conformes aux impératifs...), mais le Hurd est apparu comme étant le premier système basé sur Mach, fonctionnant de cette manière. Quoi qu'il en soit, il est apparu que le groupe développant Mach était bien trop occupé à travailler sur Mach pour réfléchir au système d'exploitation dans sa globalité.

Un certain nombre de concepts ayant cours sur UNIX sont implémentés ou étendus dans le Hurd.

En particulier, il fait sienne (Sienne (Siena en italien) est une ville italienne, chef-lieu de la province du même nom, dans la région de Toscane. Elle compte 54 500 habitants (2004).) la maxime Unixienne " tout est fichier " et l'étend pour répondre à une problématique courante des systèmes multi-serveurs : l'identification des serveurs et le contrôle (Le mot contrôle peut avoir plusieurs sens. Il peut être employé comme synonyme d'examen, de vérification et de maîtrise.) d'accès à ceux-ci. En effet, deux serveurs, pour communiquer entre eux, doivent pouvoir se contacter. Sur Internet (Internet est le réseau informatique mondial qui rend accessibles au public des services variés comme le courrier électronique, la messagerie instantanée et le World Wide Web, en utilisant...), ce sont les adresses IP et le DNS qui remplissent ce rôle. Dans le monde (Le mot monde peut désigner :) CORBA, ce sont les IOR. MachOS proposait un service de nommage qui permet de contacter un serveur par son nom. Cependant, ce système ajoute un élément critique au système (le serveur de noms) et ne règle pas la question du contrôle d'accès. Le Hurd prend le parti d'utiliser le système de fichiers comme système de nommage : à chaque fichier, il associe un programme. Ces programmes sont des serveurs ordinaires qui implantent une interface (Une interface est une zone, réelle ou virtuelle qui sépare deux éléments. L’interface désigne ainsi ce que chaque élément a besoin de connaître de l’autre pour pouvoir fonctionner correctement.) particulière : celle des accès fichiers (lecture, écriture, changement des droits et de propriétaire, etc.) : ils sont appelés traducteurs (translator). Tous les serveurs du Hurd sont des traducteurs, exceptés auth et proc (pour lesquels toute tâche créée dispose automatiquement d'un moyen de communiquer avec ces serveurs). Les systèmes de fichiers sont un exemple de traducteur : ils sont associés à tous les fichiers fournis par ce système de fichiers. Ce qui correspond au montage sous UNIX est le lancement d'un traducteur de fichier sous GNU/Hurd. La nature des traducteurs (programmes ordinaires) rend plus aisé la conception de services spécifiques comme le traducteur ftpfs permet à l'utilisateur de naviguer sur un site FTP distant comme dans une arborescence locale, ou mirrorfs, qui permet à l'utilisateur de monter plusieurs systèmes de fichiers les uns sur les autres.

Sous Unix, chacun des programmes a un identifiant (En informatique, on appelle identifiants (également appelé parfois en anglais login) les informations permettant à une personne de s'identifier auprès d'un système.) associé, user id ou ID, qui correspond normalement à celui de l'utilisateur qui l'a lancé. Cet ID dicte les actions permises par ce programme. Aucun processus externe ne peut changer l'ID d'un programme en mémoire, et aucun processus ne peut (normalement) obtenir un privilège qu'il n'a pas au démarrage. Sous GNU/Hurd, un processus tourne sous un ensemble d'identifiants, cet ensemble pouvant être nul (aucun ID associé) ou contenant plusieurs ID. Un processus ayant suffisamment de privilèges peut ajouter ou retirer des ID à un autre processus. Par exemple, il existe un serveur password qui retourne un ID lorsque le login est validé.

L'aspect le plus intéressant du Hurd réside dans la capacité qu'a l'utilisateur de lancer son propre système de services. Tout utilisateur peut attacher n'importe quel traducteur à un système de fichiers pour son usage (L’usage est l'action de se servir de quelque chose.) personnel : un utilisateur peut même remplacer des serveurs systèmes, comme le serveur d'authentification (L'authentification est la procédure qui consiste, pour un système informatique, à vérifier l'identité d'une entité...), par celui de son choix. Tout cela peut se faire sans affecter les autres utilisateurs, grâce à des privilèges bien définis. En fait, il est même possible, toujours pour le simple utilisateur, de re-lancer un système GNU/Hurd, qui sera alors un sous-Hurd (un Hurd dans le Hurd).

Distributions

Richard Stallman, fondateur du projet (Un projet est un engagement irréversible de résultat incertain, non reproductible a priori à l’identique, nécessitant le concours et...) GNU, avait annoncé qu'il espérait la sortie d'une version officielle de GNU OS (également appelée GNU/Hurd) avant la fin de l'année (Une année est une unité de temps exprimant la durée entre deux occurrences d'un évènement lié à la révolution de la Terre autour du Soleil.) 2002 (déclaration qui avait beaucoup surpris les développeurs !). Il n'existe qu'une distribution basée sur le Hurd, encore au stade (Un stade (du grec ancien στ?διον stadion, du verbe ?στημι istêmi, « se tenir droit et ferme ») est un équipement sportif.) de développement, mais qu'il est possible d'utiliser pour certaines tâches non critiques : Debian GNU/Hurd. Un LiveCD basé sur Debian GNU/Hurd également, réalisé par Ben Asselstine avec l'aide d'Alfred Szmidt. Ce LiveCD fournit un système de base suffisant pour découvrir et démontrer les fonctionnalités de GNU/Hurd.

Ces distributions utilisent toutes un chargeur de démarrage (bootloader) qui puisse gérer la spécification multiboot (Terme pour désigner la possibilité de démarrer plusieurs systèmes d’exploitation sur un même ordinateur. Exemple : un multiboot Windows/Linux. Les...), comme GRUB, ce qui est requis pour utiliser le Hurd.

Compte-tenu de la disponibilité (La disponibilité d'un équipement ou d'un système est une mesure de performance qu'on obtient en divisant la durée durant laquelle ledit équipement ou système est...) d'autres noyaux de système d'exploitation qui permettent une utilisation de l'ensemble des outils GNU, le développement est lent. Ce noyau souffre encore d'importantes limitations liées au support matériel. Il n'existe ainsi aucun support pour les cartes son.

Citation

" In short, just say NO TO DRUGS and maybe you won't end up like the Hurd people. " (" Pour faire court, dites tout simplement NON AUX DROGUES et peut-être que vous ne finirez pas comme les gens du Hurd. ")
--Linus Torvalds, concepteur (Un concepteur est une personne qui imagine et réalise quelque chose. Ce mot vient du verbe concevoir.) de Linux (Au sens strict, Linux est le nom du noyau de système d'exploitation libre, multitâche, multiplate-forme et multi-utilisateur de type UNIX créé par Linus Torvalds, souvent désigné comme le noyau Linux. Par extension, Linux...)

Page générée en 0.189 seconde(s) - site hébergé chez Amen
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
Ce site est édité par Techno-Science.net - A propos - Informations légales
Partenaire: HD-Numérique