GNU Hurd

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 21. Februar 2010 um 20:31 Uhr durch Harald Mühlböck (Diskussion | Beiträge) (Änderungen von 84.59.139.151 (Diskussion) rückgängig gemacht und letzte Version von Trac3R wiederhergestellt). Sie kann sich erheblich von der aktuellen Version unterscheiden.
Zur Navigation springen Zur Suche springen
Eine gesichtete Version dieser Seite, die am 21. Februar 2010 freigegeben wurde, basiert auf dieser Version.
GNU Hurd
GNU Hurd logo
Entwickler GNU-Hurd-Entwicklerteam
Lizenz(en) GNU General Public License
Akt. Version 0.9[1] vom 18. Dezember 2016
Architektur(en) IA-32
gnu.org/software/hurd

GNU Hurd ist ein Betriebssystemkern, der einen Mikrokern als Basis benötigt.[2] Er implementiert Dateisysteme, Netzwerkprotokolle, Datei-Zugriffs-Kontrollen und andere Eigenschaften. Die Entwicklung begann 1990.

Namensbedeutung

Bei dem Namensteil Hurd (früher auch HURD) von GNU Hurd handelt es sich um ein komplexes rekursives Akronym, nämlich ein (zweistufig) indirektes, das in der ersten Auflösung HIRD of Unix-Replacing Daemons (deutsch: „Herde Unix-ersetzender Dienste") lautet. Hird wird wiederum zu HURD of Interfaces Representing Depth (deutsch: „Herde Tiefe-darstellender Schnittstellen") aufgelöst. Obige Übersetzung ist keine exakte, sondern gibt die Bedeutung der beiden Kunstworte assoziativ bzw. auf einer lautmalerischen Ebene wieder, denn sie basiert nur auf dem gleich (hier: nicht generell ununterscheidbar) ausgesprochenen engl. Wort herd (deutsch: Herde). Durch die Akronyme und die lautmalerische Verfremdung werden zwei unter Hackern übliche Gebräuche gleichzeitig genutzt.

Das Wort Hurd wird als Eigenname verwendet: im Englischen benutzt man das Wort immer mit dem Artikel – also the Hurd, während man im Deutschen den Artikel weglässt.

Konzept

Das wichtigste Konzept von GNU Hurd ist, dass die Betriebssystem-Komponenten als eigene Prozesse laufen. Im Englischen werden diese als Server bezeichnet. Ein weiterer Bestandteil von Hurd ist ein Mikrokernel, standardmäßig GNU Mach, eine Implementierung des Mach-Kernels.

Das Design von GNU Hurd ermöglicht, dass die meisten Betriebssystem-Aktionen keinerlei Privilegien mehr benötigen. Dies wird erreicht, indem Gerätetreiber, Dateisysteme, Netzwerkprotokolle und Ähnliches aus dem privilegierten Adressraum des Kernels herausgenommen werden und als normale Benutzerprozesse laufen, sodass sie (theoretisch) keinen Schaden am Gesamtsystem anrichten können.

Ein Prozess kann allerdings Privilegien genießen, um besondere Betriebssystem-Funktionen durchführen zu können. Dieses Konzept bietet eine Reihe von Vorteilen:

  • Sollte ein Prozess in seinem Dienst versagen, kann er den Kernel nicht ohne weiteres zum Erliegen bringen.
  • Programme im User-Space sind leichter zu debuggen.
  • Sofern nicht bestimmte Privilegien benötigt werden, kann jeder Benutzer selbst Betriebssystem-Komponenten setzen, um zum Beispiel ein eigenes Dateisystem einzurichten. Da die entsprechende Betriebssystem-Komponente dann unprivilegiert läuft, stellt sie kein Sicherheitsrisiko dar. Außerdem braucht der Benutzer nicht die eingebauten Funktionen des Kernels zu benutzen, sondern kann sich den Dienst selbst nach Belieben erstellen, ohne dass die Integrität des Systems dadurch in Mitleidenschaft gezogen werden kann.

Sogenannte Übersetzer beantworten Zugriffsanfragen auf einen Einhängepunkt. Dieser kann eine einzelne Datei oder eine ganze Verzeichnis-Hierarchie im Dateisystem sein. Dadurch können Programme mit den üblichen Dateioperationen von den Möglichkeiten von Hurd profitieren, auch ohne speziell dafür angepasst zu werden. Sinnvoll ist dies beispielsweise für Low-Level-Implementierungen virtueller Dateisysteme: Der Übersetzer FTPFS stellt zur Laufzeit auf der zugewiesenen Datei ein Verzeichnis dar (der Unterschied zwischen Dateien und Verzeichnissen ist in Hurd verschwindend gering), auf das wie auf ein normales Verzeichnis zugegriffen werden kann; allerdings übersetzt ftpfs die Dateioperationen in FTP-Operationen, die zu einem Server geschickt werden. Dies entspricht im Wesentlichen der Funktionalität graphisch orientierter FTP-Clients, in denen entfernte Verzeichnisse wie lokale aussehen, ftpfs von Hurd ermöglicht es jedoch, mit normalen Programmen wie ls oder cat auf dem entfernten Server zu agieren.

GNU Hurd-Derivate

Quellen

  1. GNU Hurd 0.9, GNU Mach 1.8, GNU MIG 1.8 released. (englisch, abgerufen am 11. Mai 2018).
  2. Introduction to the Hurd auf der GNU Webseite, 2. Oktober 2005

Vorlage:Navigationsleiste GNU-Software

Abgerufen von „https://de.wikipedia.org/w/index.php?title=GNU_Hurd&oldid=70978266"