Login
Newsletter
Werbung

Sa, 12. Oktober 2002, 00:00

GNU/Hurd Status Report 2002-B

Vorwort

Da der Markt an deutschsprachigen Hurd-News noch nicht übersättigt ist, soll an dieser Stelle in unregelmäßigen Abständen darüber berichtet werden, was es Neues in der Hurd-Welt gibt. In dieser zweiten Ausgabe liegt der Schwerpunkt auf den verschiedenen Portierungen des Hurd, die derzeit existieren, früher existierten oder einmal existieren werden. Ich werde dabei nicht alles wiederholen, was ich in der ersten Ausgabe über GNU Mach, OSKit etc. geschrieben habe.

GNU Hurd, oder einfach nur Hurd, ist eine Sammlung von Server-Prozessen, die Dinge wie Dateisysteme und Netzwerkprotokolle bereitstellen und damit einen Ersatz für den Unix-Kernel bilden. Die Hurd-Server laufen auf dem Mach Microkernel. In Kombination mit den anderen GNU-Programmen und weiterer Software wie XFree86 formt Hurd das Betriebssystem GNU/Hurd, das »Hurd-basierte GNU-System«. Debian GNU/Hurd ist eine (bzw. derzeit die einzige) Distribution dieses Systems.

Fortschritte von Hurd

Es existiert erstmals eine weitgehend praxistaugliche Implementierung der POSIX Threads API, veröffentlicht von Neal Walfield unter dem Namen RMGPT. Bereits im Jahr 2000 hatte Mark Kettenis mit der Entwicklung von pthreads für Hurd begonnen, später arbeitete Jeroen Dekkers daran, die Arbeit ging jedoch nur langsam voran. Als Neal Walfield an der Portierung von Hurd auf den L4 Microkernel arbeitete, stand er vor der Wahl, die von den Hurd-Servern verwendete relativ kleine cthreads Bibliothek auf L4 zu portieren oder direkt pthreads zu verwenden und dann auch gleich Hurd selbst von cthreads auf pthreads umzuschreiben. Da Letzteres langfristig die bessere Alternative darstellt, portierte er den bestehenden pthreads-Code von Mach auf L4 und verbesserte ihn. Da Neal nach einiger Zeit aber aus Karlsruhe nach Boston zurückkehrte, war nun kein Zugriff auf die Entwicklungsversion des L4Ka Microkernels mehr gegeben, daher wird nun zunächst pthreads auf Mach weiterentwickelt. Kurz gesagt: RMGPT hat nichts mit NPTL oder NGPT zu tun.

Die GNU-Version des Mach Interface Generators, MiG, wurde vor einiger Zeit in der Version 1.3 veröffentlicht, worauf bald GNU Mach 1.3 folgte. Die zukünftige Entwicklungslinie ist aber definitiv die OSKit-Mach Variante, die GNU Mach 2.0 werden wird. Damit OSKit-Mach auf breiterer Basis eingesetzt werden kann, fehlte seit einiger Zeit lediglich noch eine brauchbare Userspace-Konsole. Seit Februar hat Marcus Brinkmann daran gearbeitet, und inzwischen funktioniert sie hervorragend. Sie ist nach dem Client-Server Prinzip organisiert, wobei der Konsolen-Server bereits seit einiger Zeit fertiggestellt ist. Ein Client existiert sowohl für ncurses, womit man in etwa den Effekt des Programmes screen erzielt, als auch für den VGA-Textmodus. Interessant ist, dass die Konsole Unicode-fähig ist, und beim VGA-Client wird die gleichzeitige Darstellung von 512 verschiedenen Unicode-Zeichen möglich sein (Die begrenzte Zahl ist eine Einschränkung des VGA-Textmodes, die bei Verwendung eines Framebuffer-Clients entfallen würde). Die neue Konsole kann durchaus (und muss derzeit sogar noch) auf GNU Mach 1.x eingesetzt werden.

Wie viele Projekte, die gestartet wurden, bevor es automake gab, hat auch Hurd sein eigenes Build-System. Natürlich wird autoconf eingesetzt, doch die eigenen Makefiles zu pflegen ist keine sonderlich spannende Aufgabe. Daher arbeitet Jeff Bailey daran, Hurd auf automake zu migrieren und kann hierbei durchaus einige Erfolge vorweisen. In absehbarer Zeit ist mit automake zu rechnen, was einige Dinge für die Entwickler einfacher machen wird.

Brauchbarkeit

Immer wieder werde ich gefragt, ob Hurd denn inzwischen für alltägliche Dinge einsetzbar sei. Ich kann zwar darauf nicht guten Gewissens mit »Ja« antworten, doch ich kann darauf hinweisen, dass David Walter bereits 80% seiner Arbeit unter GNU/Hurd erledigt.

Andere Leute hingegen werden fragen, warum man ein noch unreifes System einsetzen sollte. Der Grund ist nicht, dass man durch Verwenden eines komplizierten Systems cool wird; wer aus diesem Grund an GNU/Hurd interessiert ist, der wird enttäuscht sein zu hören, dass das Ziel keinesfalls die Erstellung eines 313373n Systems ist, sondern die Entwicklung eines Allzweck-Systems, dass benutzerfreundlich sowohl für unerfahrene Anwender als auch für Hacker und Administratoren ist.

Gründe, GNU/Hurd einzusetzen gibt es mehrere: Man findet dadurch nicht nur weitere Bugs, sondern kann auch die bereits implementierten wundervollen Features genießen. Das ist gewiß nicht für jeden ein Ausgleich für die Defizite des Systems, für manche aber schon.

Portierungen

Dass es Debian GNU/Hurd nur für die i386-Architektur gibt, bedeutet nicht, dass es nicht mehrere Portierungen von Hurd gäbe. Einerseits läuft Hurd auf verschiedenen Ausprägungen des Mach-Kernels, neben GNU Mach (und der OSKit-Mach Variante davon) auch RT Mach und OSF Mach, andererseits hat ein Hacker Hurd auch bereits auf einem PowerPC (mit der PPC-Version des OSF Mach) zum Laufen bekommen.

Leider ist der betreffende Entwickler anscheinend vom Erdboden verschluckt worden, jedenfalls ist er nicht mehr erreichbar. Auch scheint diese PowerPC-Portierung langfristig recht hoffnungslos zu sein, da OSF Mach auf neueren PowerPCs gar nicht mehr läuft. Das zeigt jedoch, dass andererseits die mit vielen Altlasten verbundene Kompatibilität der x86-Architektur durchaus manche Vorteile hat, so oft auch darüber geschimpft wird.

Die Hauptarbeit beim Portieren von Hurd liegt aber in der glibc. In der Tat waren nahezu alle Patches, die für Hurd selbst auf PowerPC notwendig waren, Anpassungen an die etwas anderen Schnittstellen von OSF Mach (den es aber auch für x86 gibt). Vor einiger Zeit war Arbeit an einer Alpha-Portierung erkennbar, doch Neuigkeiten hat man davon schon länger keine mehr gehört. Die Unterstützung für Hurd auf Alpha war in der glibc schon lange vorhanden, doch der Code war vollkommen ungetestet und war geschrieben worden, weil jemandem zufällig eine Alpha-Spezifikation in die Hände geraten war. In der Vergangenheit existierte aber einmal eine tatsächlich gut funktionierende MIPS-Portierung (auf der sogar bereits XFree86 lief, zum ersten mal in der Geschichte von Hurd).

Die wohl interessanteste Portierung ist aber die auf den L4-Microkernel, an der Neal Walfield gearbeitet hat, während er in Karlsruhe, einem der Zentren der L4-Welt, war. Da die Entwickler von L4Ka keine unfertige Software veröffentlichen möchten (was deren gutes Recht ist) und GNU-Entwickler keine NDAs unterzeichnen, muss nun allerdings auf die Herausgabe des neuen L4 gewartet werden. Währenddessen kann allerdings an Dingen gearbeitet werden, die eine spätere Verwendung von L4 vorbereiten. Hinzuzufügen wäre nur noch, dass an Portierungen von L4Ka auf diverse Plattformen wie IA-64 gearbeitet wird und dass einer der L4Ka-Entwickler über ein iBook verfügt, was mir Hoffnung gibt. ;-)

Ausblick

Durch die Verfügbarkeit von pthreads wird die Portierung von Mozilla, KDE und einer Menge weiterer Software möglich. Es ist allerdings bereits eine Menge Arbeit, Debian GNU/Hurd überhaupt in einem lauffähigen Zustand zu halten, sodaß man sich wohl noch etwas gedulden muss, bis jemand die Zeit findet, sich um diese Dinge zu kümmern.

Es wird dieses Jahr definitiv noch einen weiteren GNU/Hurd Status Report geben, in dem ich bezüglich des Einsatzes von GNU/Hurd in der Praxis auch Erfahrungen aus erster Hand bieten werde.

  • Dieses Werk wurde unter der GNU Free Documentation License veröffentlicht. Das Kopieren, Verbreiten und/oder Modifizieren ist erlaubt unter den Bedingungen der GNU Free Documentation License, Version 1.2 oder einer späteren Version, veröffentlicht von der Free Software Foundation.

    - Weitere Informationen
Kommentare (Insgesamt: 0 )
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung