GNU ist ein rekursives Akronym von GNU's Not Unix und bezeichnet das im Rahmen des GNU-Projekts in Entwicklung befindliche, vollständig freie Betriebssystem. 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). Es besteht aus dem Mach Microkernel, den dazugehörenden Services, die mit dem Namen Hurd bezeichnet werden, und der weiteren Software des GNU-Projekts.
Im Jahr 1990 waren dann 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.
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.
Seit 2001 gibt 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", wird, wie schon Debian GNU/Hurd, ebenfalls maßgeblich von Marcus Brinkmann bearbeitet 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. Zur Zeit (Januar 2006) gibt es Überlegungen, statt des L4-Microkernels Coyotos zu verwenden.
Häufig werden einige dieser Bezeichnungen aber äquivalent genutzt. So wird das ganze System teilweise als Hurd bezeichnet, was streng genommen aber falsch ist.
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.
Im Englischen benutzt man das Wort immer mit dem Artikel – also the Hurd, während man sich im Deutschen nicht auf ein Genus einigen konnte und den Artikel weglässt.
In traditionellen Unix-Systemen, zu denen konzeptionell auch Linux zählt, erfordern viele Aktionen Privilegien, über die der normale Benutzer nicht verfügt. Dazu gehört etwa das Einbinden (mounten) von Datenträgern (z. B. Disketten, CD-ROMs, Memory Sticks). Damit steht der Administrator vielfach vor der Wahl, entweder die Handlungsfreiheit der Benutzer einzuschränken oder Sicherheitsrisiken in kauf zu nehmen, indem er Benutzern die Ausführung einiger privilegierter Aktionen zugesteht.
Das Design von GNU Hurd räumt dagegen mit den Einschränkungen radikal auf, indem es dafür sorgt, dass die meisten 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 Übersetzer läuft jedoch im User-Space, also außerhalb des privilegierten Adressraums des Kernels. Er kann allerdings Privilegien genießen, um besondere Funktionen durchführen zu können. Dieses Konzept bietet eine Reihe von Vorteilen:
Der Namensraum, in dem man allgemein zugängliche Ports findet, auf denen die Server dienen, ist das Dateisystem. Dieses wird selbst vom root-Übersetzer kontrolliert. 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 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.
Bekannte Bestandteile der GNU Software sind neben der GNU Compiler Collection die GNU C Library und der GNU Emacs Texteditor.
Zu beachten ist, dass nicht alle Software, die zum GNU-System gehört, vom GNU-Projekt erstellt wird. So hat das GNU-Projekt z. B. darauf verzichtet, einen eigenen X-Server zu entwickeln, und greift statt dessen auf vorhandene freie Software in diesem Bereich zurück.
Ab 1991 wurde die GNU Software auch im Zusammenhang mit Linux eingesetzt und erreichte damit eine große Verbreitung. Faktisch jedes eingesetzte Linux-System basiert auf dem GNU-System. Richard Stallman legt daher auch die Verwendung der Bezeichnung GNU/Linux nahe Richard Stallman: Linux und GNU on gnu.org, 22.10.2005, was seitdem immer wieder kontrovers diskutiert wurde (siehe auch Geschichte von Linux).
Neben der Debian-GNU/Hurd-Portierung existierte noch das Gentoo/Hurd-Projekt, das aber inzwischen wieder eingestellt wurde.
Ebenfalls existiert das von Cygnus Solutions entwickelte Cygwin, einem auf Microsoft Windows lauffähigen GNU-System.
Betriebssystem | Freie Software | GNU | Abkürzung
GNU | GNU | ГНУ | GNU | GNU | GNU | GNU | GNU | GNU | GNU | GNU | GNU | گنو | GNU | GNU | GNU | GNU | GNU | Gnu | GNU | GNU | גנו (מערכת הפעלה) | GNU | GNU | ГНУ | GNU | GNU | GNU | GNU | GNU | GNU | GNU | GNU | GNU | GNU | ГНУ | GNU | GNU | GNU | กนู | Dự án GNU | GNU | GNU | GNU