HIRD of Unix-Replacing Daemons

Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 25. Februar 2002 um 09:49 Uhr durch Kurt Jansson (Diskussion | Beiträge). Sie kann sich erheblich von der aktuellen Version unterscheiden.

Bei Hurd handelt es sich um eine Sammlung von Mach-Servern, die gemeinsam die Funktionalität eines Unix-Kernels anbieten. GNU Hurd ist ein Projekt der Free Software Foundation und steht wie Linux unter der GNU General Public License, Version 2. Hurd selbst ist noch kein vollständiges Betriebssystem, erst in Kombination mit anderer Software formt es das Betriebssystem GNU/Hurd, das auch einfach nur GNU genannt werden kann. GNU/Hurd ist eines von derzeit 3 GNU-Systemen; die anderen beiden sind GNU/Linux und GNU/Darwin.


Geschichte: Seit 1984 wurde das GNU-System entwickelt, im Jahr 1990 fehlte nur noch der Kernel. Die Free Software Foundation entschloss sich nach langem hin und her dazu, den Mach-Kernel zu verwenden und darauf aufbauend ein Multiserver-Betriebssystem zu schreiben, damit das System leichter um weitere Komponenten erweitert werden kann und auch Benutzer ohne Administrator-Rechte eigene Komponenten einbinden können ohne die Stabilität des Gesamtsystems zu gefährden. Da Hurd-Server sehr stark multithreaded sind, erwies sich das Debuggen jedoch als sehr schwierig. Da es sich bei Hurd um ein sehr umfangreiches und schwieriges Projekt handelt und zudem der pragmatischer entworfene Kernel Linux stärkere Aufmerksamkeit erlangte geht die Entwicklung nur schleppend voran. 1998 wurde das Debian GNU/Hurd Projekt ins Leben gerufen, durch das erstmals eine größere Zahl an Applikationen unter <nowiki>GNU/Hurd<nowiki> getestet wurde. Seit 2001 gibt es Bestrebungen, Hurd von Mach auf L4, einen Mikrokernel der zweiten Generation, zu portieren.


Web-Links


Das wichtigste Konzept von GNU Hurd ist das der Translatoren, wobei der Begriff des Translators im Kontext von GNU Hurd durch "Mach-Server" ersetzbar ist. Da Kommunikation in einem Mach-System über sog. Ports abläuft (man kann sich darunter eine Meldungs-Warteschlange vorstellen), können auch die Dienste der Hurd-Server durch das Senden von Meldungen an die entsprechenden Ports genutzt werden. Der Namensraum, in dem man einen solchen Port findet, ist das Dateisystem, wobei es einen Wurzel-Translator gibt, der für / zuständig ist. Ein Translator (also ein Server), der Zugriff auf eine ext2-Partition erlaubt, könnte im Dateisystem etwa an /mnt befestigt sein und dadurch dort seine Dienste (also den Zugriff auf die Partition) anbieten. Neben gewöhnlichen Dateisystem-Translatoren sind auch beliebige andere denkbar, z.B. ein FTP-Translator, der transparenten Zugriff auf FTP-Server erlaubt. Dadurch können Programme auch von den Möglichkeiten des Hurd profitieren, ohne speziell dafür angepasst zu werden.