WikiDer > Hurd (Kernel)

Hurd (kernel)
Hurd
Logo
EntwicklerGNU
Neueste Beta-Version0.9[1] 
(18. Dezember 2016)
StatusAktiv
KategorieKernel
LizenzGPL
Webseite(und) Offizielle Website
Portal  Portalsymbol  Informatik
Gratis Software

Das Hurd ist der Kernel die für die entwickelt wurde GNU-Betriebssystem. Die Hurd ist gratis Software und wird unter den Bedingungen der GNU General Public License. The Hurd versucht zu existieren UnixVarianten in den Fähigkeiten, während sie kompatibel bleiben. Dies wird erreicht durch die POSIX-Standard zu folgen.

Die Architektur

Im Gegensatz zu den meisten Unix-Kerneln (einschließlich der Linux Kernel) ist der Hurd-Kernel ein sogenannter Mikrokernel, ein Kernel, der nur die grundlegendsten Basale enthält Dienstleistungen führt, nämlich die Koordination der Hardware-: das Zentralprozessor, es Arbeitsspeicher und viele andere Geräte wie z. B. für Ton, Bildsteuerung und Massenspeicher (USB).

Die GNU machkernel wird als Mikrokernel verwendet[2]. Von 2002 bis 2006 wurde versucht, es durch die besseren zu ersetzen L4-Kernel. Dieser Versuch schlug fehl.[3]

Es gibt auch andere Unix-ähnliche Systeme, die auf dem Machkernel laufen, zum Beispiel: OSF/1, Nächster Schritt, Mac OS X, Lites und MkLinux. Diesen Systemen ist gemeinsam, dass sie dies nicht tun monolithischer Kernel was in Unix-ähnlich üblich ist, es aber in einen Mikrokernel und einen sogenannten Unix-Server-Teil aufspaltet.

Die Hurd besteht jedoch aus mehreren solcher kooperierenden Server. Anstelle eines großen Codes, der alles von der Uhr bis es Netzwerk, hat der Hurd für jede Aufgabe einen eigenen Server. Dies erleichtert die Entwicklung (zumindest theoretisch) erheblich, da eine Änderung des Codes auf anderen Servern wenig bis gar keine Auswirkungen hat.

Machs ursprüngliches Ziel war es, solche Server zu entwickeln, aber Hurd war das erste System, das es tatsächlich implementiert hat.Es ist nicht ganz klar, warum dies geschah, aber sie scheinen mit der Entwicklung des Machkernels beschäftigter zu sein als der Entwicklung des gesamten Betriebssystems.

Name

Die Koexistenz vieler Softwareteile (siehe oben) erklärt den Namen Hurd, eine Abkürzung für: "Hird of Unix-Replacing Daemons", wobei "Hird" wiederum eine Abkürzung für: "Hurd of Interfaces Representing Depth" ist. Dies ist ein Sonderfall von a rekursives Akronym. Beide Wörter (hure und hird) bestehen aus englischen Wörtern, die ähnlich klingen wie Herde (Herde), womit sich der Name auch auf die Tiere bezieht (Gnus) im Namen des übergeordneten Projekts.

Unix-Erweiterungen

Einige typische Unix-Eigenschaften werden im Hurd ersetzt oder erweitert:

Unter Unix hat jedes Programm ein Benutzeridentifikation das entspricht normalerweise dem Benutzer, der den Prozess gestartet hat. Diese Kennung bestimmt weitgehend, was das Programm tun kann und darf. Ein anderer Prozess kann die ID dieses Programms nicht ändern. Ein Hurd-Prozess läuft auf mehreren IDs, dies kann eine oder mehrere IDs oder gar keine umfassen. Ein Prozess mit ausreichenden Rechten kann die IDs anderer Prozesse ändern. So gibt es beispielsweise einen Passwortserver, der nach Eingabe des richtigen Passworts IDs freigibt.

In Bezug auf Dateisysteme, kann ein Programm so gestaltet werden, dass es als Übersetzer für eine einzelne Datei oder für einen gesamten Verzeichnisbaum. Jeder Zugriff auf die übersetzte Datei oder die anderen Dateien in diesem Verzeichnis wird von diesem Programm gesteuert. Zum Beispiel kann ein Dateiübersetzer die Lese-/Schreibvorgänge in eine andere Datei verschieben, nicht viel anders als in einer symbolischer Link unter Unix. Was in Unix montieren erwähnt wird in der Hurd von solchen Dateiübersetzern erreicht. Solche Übersetzer können auch verwendet werden, um Benutzerdienste bereitzustellen. Beispiel: der Übersetzer ftpfs wird verwendet für FTP-Erfassung von Websites in einer Datei. Dann Standardtools wie ls, cp und rm verwendet, um Dateien in dieser Datei zu regulieren. Ein noch leistungsfähigerer Übersetzer ist beispielsweise Schattenfs, die mehrere Schattenstrukturen in einer Datei speichern kann, sodass die Datei die Schattendateien herauszieht: ein großer Fehler in Unix.

Das vielleicht leistungsstärkste Feature von Hurd ist, dass es einem Benutzer ermöglicht, seine eigenen Systemdienste zu starten. Jeder Benutzer kann jeden Übersetzer für seinen persönlichen Gebrauch in einem Dateisystem speichern. Ein Benutzer könnte sogar Systemdienste, beispielsweise den Auth-Server, durch einen Server seiner Wahl ersetzen. Das ist alles machbar ohne Einfluss auf andere Benutzer haben, dies aufgrund klar definierter Benutzerbereiche. Es ist sogar möglich, einen Hurd innerhalb eines Hurd zu drehen: Dies wird als Sub-Hurd bezeichnet.

Der Hurd braucht zum Beispiel einen Multi-Bootloader RODEN.

Entwicklungsgeschichte

Es gibt zwei Hurd-basierte Distributionen in der Entwicklung:

Richard Stallman, vom GNU-Projekt, gab bekannt, dass die erste Veröffentlichung von Debian GNU/Hurd Ende 2002 erfolgen würde, aber es ist noch immer nicht passiert.[4] Bis 2006 gab es auch Gentoo/Hurd, aber die Entwicklung wurde eingestellt.

Im Jahr 2003 erlebte der Hurd eine langsame Entwicklung und große Hardware-Einschränkungen (wie den fehlenden Ton und eine ältere Einschränkung, bei der Sie nicht Partitionen könnte über 1,5 GB haben). Dank ihm DebianDas Projekt hat viele dieser Einschränkungen bereits überwunden und es wird erwartet, dass es nach seiner Fertigstellung ein sehr funktionaler Kernel für das GNU-System sein wird.

Es ist auch möglich, Linux zu verwendenFahrer im Userspace von Hurd verwendet werden.[5] Im Jahr 2014 unterstützt Hurd etwa 79% von DebianPakete.[6]

Siehe auch

Externe Links