- GNU's Not Unix
-
GNU
Die unter GNU verwendete Desktop-Umgebung GNOMEBasisdaten Entwickler GNU-Projekt Abstammung \ GNU Kernel Mach Mikrokernel Größe gepackt: ca. 34 MB
installiert: ca. 100 MBStartmedium Festplatte Lizenz GNU GPL Sonstiges Status: in Entwicklung
vielsprachigWebsite www.gnu.org GNU (dt. und engl. [ˈgnuː], anhören?/i) ist das im Rahmen des GNU-Projekts in Entwicklung befindliche, vollständig freie Betriebssystem. Die Bezeichnung ist ein rekursives Akronym von GNU’s Not Unix. Es wird mit dem Ziel entwickelt, eine vollständig freie Alternative für Unix zu bieten, und steht unter der GNU General Public License (GPL). GNU ist POSIX-kompatibel. Es besteht aus dem Mach Microkernel, den Services GNU Hurd und der weiteren Software des GNU-Projekts.
Der Name GNU soll, um Verwechslungen zu vermeiden, wie der deutsche Name des Tieres Gnu ausgesprochen werden, nicht wie im Englischen (also wie new). Auch als Symbol wurde der Kopf eines afrikanischen Gnu-Rindes gewählt.
Inhaltsverzeichnis
Geschichte
Nach der Gründung des GNU-Projekts 1983, das die Entwicklung von GNU zum Ziel hatte, wurde das GNU-System seit 1984 entwickelt. GNU wurde darauf ausgelegt, möglichst kompatibel zu Unix zu sein. Diese Entscheidung hatte mehrere Gründe: Zum einen war man sich sicher, dass die meisten Firmen ein grundlegend neues Betriebssystem ablehnen würden, wenn die Programme, die sie benutzten, darauf nicht laufen würden. Andererseits ermöglichte die Architektur von Unix eine schnelle, einfache und verteilte Entwicklung, da Unix aus vielen kleinen Programmen besteht, die größtenteils unabhängig voneinander entwickelt werden können.
Im Jahr 1990 waren ein Entwicklungssystem mit dem GNU C-Compiler und viele Systemprogramme fertiggestellt, es fehlte aber noch ein Kernel. Die Free Software Foundation entschloss sich daraufhin nach langem Hin und Her dazu, den Mach-Kernel zu verwenden und darauf aufbauend ein Multiserverbetriebssystem zu schreiben, damit das System leichter um weitere Komponenten erweitert werden kann und auch Benutzer ohne Administratorrechte eigene Komponenten einbinden können, ohne die Stabilität des Gesamtsystems zu gefährden.
Das Multiserversystem wurde GNU Hurd getauft. Da es aber sehr stark Multithreading nutzte, erwies sich das Debuggen als sehr schwierig. Das Projekt wurde sehr umfangreich und schwierig zu verwalten. Gleichzeitig zog das wesentlich pragmatischer entwickelte Linux immer mehr Entwickler an, die damit GNU Mach und GNU Hurd fehlten. Die Entwicklung dieser Teile ging schleppend voran. In dieser Zeit entstand ein Running Gag, bei dem Anwender fragten, wann Hurd fertig sei, und in der Antwort auf das jeweilige nächste Jahr verwiesen wurde. Hurd wird deshalb häufig als Vaporware bezeichnet.
1998 rief dann Marcus Brinkmann das Debian GNU/Hurd-Projekt ins Leben, um der Entwicklung wieder mehr Schwung zu verleihen. Die Infrastruktur des Debian-Projekts wurde so für GNU Mach und GNU Hurd nutzbar gemacht, wodurch erstmals eine größere Zahl an Applikationen auf das System portiert wurden. Im Rahmen von Debian GNU/Hurd entstand eine nutzbare Installationsroutine, auch wurden X11, GNOME und KDE auf die Plattform portiert. Zusätzlich profitierte sie von der ausgereiften Paketverwaltung mittels apt-get, dpkg sowie den anderen Hilfsmitteln, die Debian zur Systemverwaltung bereitstellt. Brinkmann erweiterte GNU Hurd zudem um eine Unicode-fähige Konsole, die auf einer Client/Server-Architektur beruht und somit die Linux-Konsole an Flexibilität deutlich übertrifft.
2001 gab es außerdem Bestrebungen, GNU Hurd von dem Mach-Microkernel GNU Mach auf einen L4-Kernel, einen Mikrokernel der zweiten Generation, zu portieren. Dieses Projekt, genannt „L4-Hurd“, wurde, wie schon Debian GNU/Hurd, ebenfalls maßgeblich von Marcus Brinkmann vorangetrieben und koordiniert. Seit Februar 2005 ist die erste Phase dieser Portierung abgeschlossen. Erste kleine Programme können seitdem unter einem GNU-Hurd-L4-System ausgeführt werden. Allerdings stehen bisher weder eine Shell noch die GNU-Software zur Verfügung, sodass sich die Interaktion mit dem System vorerst auf die Bedienung des Kernel-Debuggers beschränkt. Zurzeit (Januar 2006) gibt es Überlegungen, statt des L4-Microkernels Coyotos zu verwenden.
Kernel
→ Hauptartikel: GNU Hurd
GNU Mach ist der favorisierte Mikrokernel des GNU-Projekts[1], der die Abstraktion der Hardware ermöglicht. Er ist eine Implementierung des Mach-Kernels und zurzeit (Stand Februar 2008) der standardmäßige Mikrokernel von GNU Hurd. Zurzeit läuft GNU Mach nur auf IA-32-Maschinen, weitere Portierungen sind aber für die Zukunft geplant.
„Hurd/L4“ oder auch „L4-Hurd“[2] ist ein Projekt, das „GNU Hurd“ auf den L4-Microkernel portieren und damit langfristig GNU Mach ablösen soll.[3]
Da die Kombination Mach und Hurd noch schlecht produktiv einsetzbar ist, wird sehr häufig Linux als Betriebssystemkern eingesetzt.
Programme
Um ein vollständiges Betriebssystem zu ermöglichen, wurde rund um den Kernel und die Services eine Sammlung von Software, „GNU Software“ genannt, programmiert[4].
Da GNU Hurd zurzeit nicht zum produktiven Einsatz geeignet ist, werden die meisten GNU-Programme auf anderen Betriebssystemkernen eingesetzt. Linux als GNU-Variante enthält meist alle GNU-Programme und die Anwender von freien wie auch proprietären Unices ersetzen häufig die Unix-Tools durch entsprechende von GNU, da sich bei Vergleichen die GNU-Software als stabiler und weniger anfällig für Fehler herausgestellt hat[5]. Einige GNU-Programme, wie z. B. die GNU Compiler Collection, wurden auf nahezu alle heute verbreiteten Betriebssysteme portiert.
Weitere bekannte Software des GNU-Projekts sind die GNU C-Bibliothek, die Bash (Bourne-Again-Shell), der GNU Emacs-Texteditor und der GNU Debugger.
Zu beachten ist, dass nicht alle Software, die üblicherweise mit Linux-Distributionen geliefert wird, vom GNU-Projekt erstellt wurde. So verzichtet das GNU-Projekt z. B. darauf, ein eigenes X Window System zu entwickeln, weil inzwischen von Anderen eine freie Implementierung geschaffen wurde.
Desktop-Umgebung und -Anwendungen
→ Hauptartikel: GNOME
Die Desktop-Umgebung und die dazugehörigen GNOME-Anwendungen werden vom GNOME-Projekt organisiert. Zielsetzungen sind Einfachheit, Benutzerfreundlichkeit, stimmiges Oberflächendesign, Barrierefreiheit, Internationalisierung, regelmäßige Veröffentlichungen und guter Support.
Geschichte
Das erste für GNU geschriebene Programm war der Texteditor GNU Emacs von Richard Stallman. Die Arbeit daran begann im September 1984[6], Anfang 1985 wurde es von Stallman selbst erstmals als benutzbar eingestuft. In dieser Zeit war die Verteilung der Software über das Internet noch nicht üblich, da Zugänge selten waren. Sie wurde stattdessen auf Disketten verkauft.
Ab 1991 wurde die GNU Software auch im Zusammenhang mit dem Linux-Kernel eingesetzt. 1992 wurde der Linux-Kernel unter der GNU General Public License veröffentlicht und konnte somit für das erste freie Betriebssystem als Kernel eingesetzt werden. Im Zuge zunehmenderer Popularität wurde diese GNU-Variante auch Linux genannt. Richard Stallman legt daher die Verwendung der Bezeichnung GNU/Linux nahe[7], was seitdem immer wieder kontrovers diskutiert wird. (Siehe auch GNU/Linux-Namensstreit)
Status
Das Betriebssystem befindet sich nach wie vor in der Entwicklung, da noch nicht alle Hurd-Server fertig implementiert wurden. Die Entwicklung an den Mikrokerneln ist jedoch mittlerweile eingeschlafen. Auf der anderen Seite aber ist der Teilbereich GNU Anwenderprogramme nahezu vollständig. GNU-Software wird seit Jahren vor allem in der Linux-basierten Variante von GNU und auf freien wie proprietären Unix-Systemen in allen Bereichen eingesetzt.
Debian GNU/Hurd
Die am weitesten fortgeschrittene und aktivste GNU-Distribution auf der Basis von Hurd ist derzeit Debian GNU/Hurd. Etwa 45 % der ca. 15.000 im offiziellen Debian-Archiv enthaltenen Pakete wurden bislang erfolgreich für Debian GNU/Hurd übersetzt. Im ersten Halbjahr 2005 konnten große Applikationen wie KDE und GNOME nach Debian GNU/Hurd portiert werden. Von Debian GNU/Hurd wird zurzeit etwa halbjährlich ein Schnappschuss in Form von CD-ROMs veröffentlicht. Die Installation, Benutzung und Administration des Systems unterscheidet sich, abgesehen von vorhandenen Einschränkungen, kaum von Debian GNU/Linux. Soundkarten sowie moderne Peripherie-Geräte via USB, Firewire, Bluetooth sowie eine automatische Hardware-Erkennung (Hotplug) werden zurzeit noch nicht unterstützt, auch fehlt die Unterstützung für zahlreiche Dateisysteme (ext3, ReiserFS etc.)
Gentoo/Hurd
Neben der Debian-GNU/Hurd-Portierung existieren auch noch Gentoo/Hurd-Projekte, die sich aber seit September 2006 in Ruhe befinden und Unterstützung suchen.
Varianten
→ Hauptartikel: GNU-Varianten
Das GNU-System war faktisch ein Betriebssystem, dem ein Kernel fehlte. Da die Software auf andere Kernel als GNU Hurd übertragen werden kann, gibt es Systeme, die als Varianten von GNU bezeichnet werden können. GNU/Linux ist bei weitem die populärste Variante von GNU und wird häufig als Linux bezeichnet (siehe GNU/Linux-Namensstreit).
Ebenfalls existiert das von Cygnus Solutions entwickelte Cygwin, ein auf Microsoft Windows lauffähiges GNU-System.
Weblinks
Einzelnachweise
- ↑ Introduction to GNU Mach auf der GNU Webseite, 02.10.2005
- ↑ Mailing lists auf der GNU-Webseite
- ↑ The GNU Hurd on top of the L4 microkernel auf der GNU Webseite, 11.12.2005
- ↑ Cornerstone GNU Software auf der GNU Webseite
- ↑ Barton P. Miller und andere: Fuzz Revisited: A Re-examination of the reliability of Unix Utilities and Services, 18.02.2000
- ↑ Richard Stallman: The GNU Project on gnu.org, 18.06.2005
- ↑ Richard Stallman: GNU Users Who Have Never Heard of GNU, 27.12.2006
Wikimedia Foundation.