GNU: Unterschied zwischen den Versionen
K Textersetzung - „Kurzbeschreibung“ durch „Beschreibung“ |
Keine Bearbeitungszusammenfassung |
||
Zeile 11: | Zeile 11: | ||
# https://de.wikipedia.org/wiki/GNU | # https://de.wikipedia.org/wiki/GNU | ||
[[Kategorie:Freie Software]] | [[Kategorie:Freie Software]] | ||
= TMP = | |||
{{Dieser Artikel|behandelt das Betriebssystem. Zu weiteren Bedeutungen siehe [[Gnu]].}} | |||
{{Veraltet | des Artikels | Wesentliche Informationen und der aktuelle Entwicklungsstand sind mehrere Jahre alt, der aktuelle Zustand des Projektes ist nicht dargestellt | seit=mindestens 2019}} | |||
{{Infobox Betriebssystem | |||
| Name = GNU | |||
| Logo = [[Datei:Official gnu.svg|60px|Das GNU-Maskottchen]] | |||
| Bild = [[Datei:Gnome-2.18.1.png|240px]] | |||
| Beschreibung = Eine der mit GNU verwendbaren Arbeitsoberflächen, [[Gnome]] 2 | |||
| Entwickler = [[GNU-Projekt]] | |||
| Version = | |||
| Freigabedatum = | |||
| Größe = gepackt: ca. 34 [[Megabyte|MB]]<br />installiert: ca. 100 [[Megabyte|MB]] | |||
| Startmedium = [[Festplatte]] | |||
| Stammbaum = GNU <small>''(keine Vorfahren)''</small> | |||
| Architekturen = | |||
| Kernel = [[Mach (Kernel)|Mach]] [[Mikrokernel]] / [[Linux]] | |||
| Lizenz = [[GNU General Public License|GNU GPL]] | |||
| Sprache = mehrsprachig | |||
| Website = [https://www.gnu.org/ www.gnu.org] | |||
}} | |||
'''GNU''' ({{deS}} und {{enS}} [{{IPA|gnuː}}], {{audio|en-gnu.ogg|anhören}}) ist ein [[Unixoides System|unixähnliches]] [[Betriebssystem]] und vollständig [[freie Software]], das im Rahmen des 1984 gestarteten [[GNU-Projekt]]s als Softwaresammlung von Anwendungen und Bibliotheken entwickelt wird. GNU steht unter der [[GNU General Public License]] (GPL). Da ein eigener [[Kernel (Betriebssystem)|Kernel]] des Projekts, [[GNU Hurd]], nicht für den praktischen Einsatz geeignet ist, wird das System heute in der Regel mit dem [[Linux (Kernel)|Linux-Kernel]] kombiniert und GNU/Linux, zumeist aber einfach [[Linux]] genannt. | |||
Der Name ''GNU'' ist ein [[rekursives Akronym]] von „GNU’s Not Unix“ („GNU ist Nicht Unix“) und soll, um Verwechslungen zu vermeiden, wie das Tier [[Gnus|Gnu]] im Deutschen ausgesprochen werden, nicht wie im Englischen (also nicht wie ''new''). Auch als Logo wurde der Kopf einer afrikanischen Gnu-Antilope gewählt. | |||
== Geschichte == | |||
Nach der Ankündigung im Jahr 1983 und der anschließenden Gründung des [[GNU-Projekt]]s im Jahr 1984, das die Entwicklung von GNU zum Ziel hatte, wird seitdem das GNU-Betriebssystem aktiv 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. Zum anderen 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 war ein Entwicklungssystem mit dem [[GNU Compiler Collection|GNU-C-Compiler]] und vielen Systemprogrammen fertiggestellt, es fehlte aber noch ein Kernel. Die Free Software Foundation beschloss daraufhin (nach langem Hin und Her), den [[Mach (Kernel)|Mach]]-Kernel zu verwenden. Darauf aufbauend sollte ein [[Multiserverbetriebssystem]] geschrieben werden, 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 [[Debugger|Debuggen]] als sehr schwierig. Das Projekt wurde sehr umfangreich und schwierig zu verwalten. Gleichzeitig zog es die Entwickler zum wesentlich pragmatischer entwickelten [[Linux (Kernel)|Linux]], die damit bei 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 [[Marcus Brinkmann]] das [[Debian GNU/Hurd|Debian-GNU/Hurd]]-Projekt ins Leben, um der Entwicklung wieder mehr Schwung zu verleihen. Die Infrastruktur des [[Debian]]-Projekts wurde für GNU Mach und GNU Hurd nutzbar gemacht, wodurch erstmals eine größere Zahl Applikationen auf das System portiert wurde. 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 [[Advanced Packaging Tool|apt-get]], [[Debian Package Manager|dpkg]] sowie von den anderen Hilfsmitteln, die Debian zur Systemverwaltung bereitstellt. Brinkmann erweiterte GNU Hurd zudem um eine [[Unicode]]-fähige [[Terminalemulation|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 vom Mach-Mikrokernel GNU Mach auf einen [[L4 (Mikrokernel)|L4]]-Kernel, einen Mikrokernel der zweiten Generation, zu portieren. Dieses ''L4-Hurd''-Projekt wurde wie Debian GNU/Hurd ebenfalls maßgeblich von Marcus Brinkmann vorangetrieben und koordiniert. Im Februar 2005 war 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 (Betriebssystem)|Shell]] noch die GNU-Software zur Verfügung, sodass sich die Interaktion mit dem System vorerst auf die Bedienung des Kernel-[[Debugger]]s beschränkt. Im Januar 2006 gab es Überlegungen, statt des L4-Mikrokernels [[Coyotos]] zu verwenden. | |||
== Kernel == | |||
{{Hauptartikel|GNU Hurd}} | |||
Das GNU-Projekt sieht für GNU den Kernel ''GNU Hurd'' vor. Die Entscheidung für diesen experimentellen Kernel stellte einen wichtigen Grund für die stockende Entwicklung eines nutzbaren GNU-Betriebssystems dar. | |||
''GNU Mach'' ist der favorisierte [[Mikrokernel]] des GNU-Projekts,<ref>{{Internetquelle |url=https://www.gnu.org/software/hurd/gnumach.html |titel=Introduction to GNU Mach |werk=gnu.org |hrsg=Free Software Foundation |datum=2007-01-20 |sprache=en |offline=1 |archiv-url=https://web.archive.org/web/20081112095137/http://www.gnu.org/software/hurd/gnumach.html |archiv-datum=2008-11-12 |abruf=2013-01-17}}</ref> der die Abstraktion der Hardware ermöglicht. Er ist eine Implementierung des [[Mach (Kernel)|Mach-Kernels]] und zurzeit (Stand Dezember 2015) der Standard-Mikrokernel von GNU Hurd. GNU Mach läuft bisher nur auf Maschinen der veralteten [[IA-32|Intel-32-Bit-Architektur]]. Weitere Portierungen sind für die Zukunft geplant, allerdings stagniert die Entwicklung.<ref name="gnumach-news">{{Internetquelle |url=http://git.savannah.gnu.org/cgit/hurd/gnumach.git/tree/NEWS?id=v1.8 |titel=NEWS – hurd/gnumach.git – GNU Mach |abruf=2019-09-01}}</ref> Da die Kombination aus Mach und Hurd damit immer noch schlecht produktiv einsetzbar ist, wird sehr häufig [[Linux (Kernel)|Linux]] als Kernel eingesetzt und das gesamte System nur „Linux“ statt <strong>GNU/Linux</strong> genannt. | |||
„Hurd/L4“ oder auch „L4-Hurd“<ref>[https://www.gnu.org/software/hurd/hurd-l4.html#mail ''Mailing lists''] auf der GNU-Webseite</ref> ist ein Projekt, das „GNU Hurd“ auf den [[L4 (Mikrokernel)|L4-Mikrokernel]] portieren und damit langfristig GNU Mach ablösen sollte. L4 hat sich jedoch als ungeeignet herausgestellt.<ref>{{Internetquelle |url=https://www.gnu.org/software/hurd/faq/which_microkernel.html |titel=What happened to the L4/Coyotos/viengoos micro-kernels? |werk=GNU-Webseite – Hurd faq |hrsg=Free Software Foundation, Inc. |datum=2011-07-19 |sprache=en |abruf=2012-03-25}}</ref> | |||
== GNU/Linux und dessen Bestandteile == | |||
Die Kombination von GNU und dem Linux-Kernel ermöglicht ein ausgereiftes stabiles Betriebssystem für [[Personal Computer]], [[Server]] und [[Eingebettetes System|Embedded Systems]] und besteht aus folgenden Teilen: | |||
'''Teile mit Betriebssystemrelevanz''' | |||
* GNU-Pakete<ref name="gnu_packages">[https://www.gnu.org/software/software.de.html#allgnupkgs Alle GNU-Pakete] (gnu.org)</ref><ref name="gnu_packages_fsf">[https://directory.fsf.org/wiki/GNU GNU @ Free Software Directory] (fsf.org)</ref> (mit Betriebssystemrelevanz), bestehend aus [[Bourne-again shell|Shell]], [[Coreutils]], [[Compiler]] wie [[GNU Compiler Collection|GCC]], [[Programmbibliothek|Bibliotheken]] wie [[glibc]] und Umsetzung sämtlicher Funktionen des [[POSIX]] System Application Program Interface (POSIX.1)<ref>[https://www.gnu.org/software/libc/manual/html_node/POSIX.html POSIX – The GNU C Library]</ref><ref>[[Glibc#Funktionalität|glibc (Posix)]]</ref> usw. Der [[GNU Compiler Collection|GCC]]-Compiler kann [[Maschinencode]] für eine große Anzahl von Computer-Architekturen generieren.<ref>[[GNU Compiler Collection#Zielsysteme|GCC Zielsysteme]]</ref> | |||
* Non-GNU-Programme mit Betriebssystemrelevanz, welche vom GNU-Projekt für den Gebrauch mit GNU vorgesehen sind.<ref>[https://ftp.gnu.org/non-gnu/ https://ftp.gnu.org/non-gnu/]</ref> Da diese Programme bereits als Freie Software zur Verfügung standen (also Lizenzbedingungen haben, die mit den Freiheitszielen des GNU-Projekt vereinbar sind), mussten diese Programme nicht vom GNU-Projekt selbst geschrieben werden. Beispiele sind das [[X Window System]].<ref>[https://ftp.gnu.org/non-gnu/X11.README https://ftp.gnu.org/non-gnu/X11.README]</ref> | |||
* [[Linux-Kernel]] als hardwarenahe Software, mit der das System auf einer großen Anzahl von Computer-Architekturen betrieben werden kann; der Kernel implementiert [[Prozess-Scheduler|Scheduling]], [[Multitasking]], [[Gerätetreiber]], [[Speicherverwaltung]] usw.<ref>[https://www.kernel.org/#whatislinux The Linux Kernel Archives]</ref> [[Linus Torvalds]] veröffentlichte den Linux-Kernel 1992 unter der [[GNU General Public License]];<ref name="linux_free">[http://ftp.funet.fi/pub/linux/historical/kernel/old-versions/RELNOTES-0.12 Release Notes for Linux v0.12]</ref> dieser ist nicht Teil des GNU-Projekts.<ref>[https://www.gnu.org/gnu/gnu-linux-faq.de.html#allgpled Sollte die GNU/[Name]-Konvention auf alle Programme angewandt werden, die unter GPL stehen?] GNU/Linux FAQ von Richard Stallman</ref><ref>[https://www.gnu.org/gnu/gnu-linux-faq.de.html#whyslash Warum GNU/Linux statt GNU Linux schreiben?] GNU/Linux FAQ von Richard Stallman</ref><ref>[https://www.gnu.org/gnu/gnu-linux-faq.de.html#claimlinux Ist es nicht falsch, das Werk von Linus Torvalds als GNU zu bezeichnen?] GNU/Linux FAQ von Richard Stallman</ref><ref>[https://www.gnu.org/gnu/gnu-linux-faq.de.html#linusagreed Ist Linus Torvalds damit einverstanden, dass Linux nur der Betriebssystemkern ist?] GNU/Linux FAQ von Richard Stallman</ref> | |||
'''Teile ohne Betriebssystemrelevanz''' | |||
* Programme unter Freier Lizenz (z. B. Anwendungsprogramme, z. T. auch vom GNU-Projekt),<ref>[https://directory.fsf.org/ FSF Free Software directory]</ref> zum Beispiel [[Bazaar]], [[GIMP]] oder [[GNU Octave]] | |||
* Proprietäre Programme werden vom GNU-Projekt und der Free Software Foundation streng abgelehnt,<ref>[https://www.gnu.org/philosophy/compromise.de.html Ruinöse Kompromisse vermeiden] (gnu.org)</ref> da sie nicht ihren Freiheitszielen entsprechen. Dazu gehört z. B. [[Flash Player|Adobe Flash Player]]. | |||
== Programme == | |||
Um ein vollständiges Betriebssystem zu ermöglichen, wurden eine Softwaresammlung von Anwendungen, Bibliotheken und Dienstprogrammen für Entwickler – GNU-Software oder -Pakete genannt – sowie GNU Hurd als Kernel programmiert.<ref>''[https://www.gnu.org/software/hurd/users-guide/using_gnuhurd.html#Cornerstone%20GNU%20Software Cornerstone GNU Software]'' auf der GNU-Webseite</ref> | |||
Da GNU Hurd als Systemkernel bisher schlecht zum produktiven Einsatz geeignet ist, wird GNU als Betriebssystem in der Regel zusammen mit dem Linuxkernel eingesetzt. Linux als Kernel enthält jedoch auch proprietäre [[Firmware]], weshalb sich mit dem Ziel einer freien Variante der [[Abspaltung (Softwareentwicklung)|Fork]] [[Linux-libre]] in der Entwicklung befindet. | |||
Unix-Dienstprogramme wurden durch entsprechende GNU-Projekte ersetzt, da sich bei Vergleichen herausstellte, dass GNU-Software stabiler und weniger anfällig für Fehler war.<ref>Barton P. Miller und andere: ''[http://ftp.cs.wisc.edu/pub/paradyn/technical_papers/fuzz-revisited.ps Fuzz Revisited: A Re-examination of the reliability of Unix Utilities and Services]'', 18. Februar 2000.</ref> Einige GNU-Programme, 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 (Shell)|Bash]] (Bourne-Again-Shell), der Texteditor [[GNU Emacs]] und der [[GNU Debugger]]. | |||
Zu beachten ist, dass nicht jede Software, die üblicherweise mit einer GNU/Linux-Distribution 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. | |||
=== Geschichte === | |||
Das erste für GNU geschriebene Programm war der Texteditor GNU Emacs von [[Richard Stallman]]. Die Arbeit daran begann im September 1984.<ref>Richard Stallman: ''[https://www.gnu.org/gnu/thegnuproject.html Das GNU-Projekt]'' auf gnu.org, 17. April 2012.</ref> Anfang 1985 wurde es von Stallman selbst erstmals als benutzbar eingestuft. In dieser Zeit war der Softwarevertrieb über das Internet noch nicht üblich, da Zugänge selten waren. Software wurde stattdessen auf [[Diskette]]n verkauft. | |||
1991 entwickelte Linus Torvalds, inspiriert durch GNU, einen neuen Kernel: Linux. Dieser wurde 1992 unter der GNU General Public License freigegeben und wurde von einigen Distributoren als Variante zum noch nicht fertiggestellten Systemkernel GNU Hurd eingesetzt.<ref>''[https://www.gnu.org/software/hurd/hurd/status.html GNU Hurd-Status]'', 17. April 2012.</ref> Es ist Linux zu verdanken, dass heute tatsächlich eine Version des GNU-Systems ausführbar ist.<ref>Richard Stallman: ''[https://www.gnu.org/gnu/thegnuproject.html Das GNU-Projekt]'', 17. April 2012.</ref> Im Zuge zunehmender Popularität wurde diese Variante GNUs fälschlicherweise „Linux“ genannt. Richard Stallman legt daher auf die Bezeichnung <strong>GNU/Linux</strong> wert.<ref>Richard Stallman: ''[https://www.gnu.org/gnu/gnu-users-never-heard-of-gnu.html GNU-Nutzer, die noch nie von GNU gehört haben]'', 17. April 2012.</ref> (Siehe auch [[GNU/Linux-Namensstreit]].) | |||
== Status == | |||
Das Betriebssystem wird nach wie vor ständig aktualisiert. Auch GNU Hurd befindet sich nur sporadisch in der Entwicklung,<ref name="gnumach-news" /> da noch nicht alle Bereiche Hurds fertig implementiert wurden. Die Entwicklung an den [[Mikrokernel]]n ist mittlerweile zum Teil eingeschlafen. Auf der anderen Seite sind GNU-Dienstprogramme aber vollständig. GNU wird seit Jahren überwiegend in der Linux-basierten Variante namens GNU/Linux und auf freien wie proprietären Unix-Systemen in allen Bereichen eingesetzt. | |||
=== Debian GNU/Hurd === | |||
{{Hauptartikel|Debian GNU/Hurd}} | |||
Die am weitesten fortgeschrittene und aktivste GNU-[[Distribution (Software)|Distribution]] auf der Basis von Hurd ist derzeit [[Debian]] GNU/Hurd. Etwa 78 % der ca. 30.000 im offiziellen Debian-Archiv enthaltenen [[Programmpaket|Pakete]] wurden bislang erfolgreich für Debian GNU/Hurd übersetzt.<ref>{{Internetquelle |url=https://people.debian.org/~sthibault/hurd-i386/2013-02-02-fosdem.pdf |titel=The GNU/Hurd architecture, nifty features, and latest news |format=PDF |abruf=2013-02-11}}</ref> | |||
=== Gentoo/Hurd === | |||
Neben der Debian-GNU/Hurd-Portierung existieren auch noch [[Gentoo Linux|Gentoo]]/Hurd-Projekte, die sich aber seit September 2006 in Ruhe befinden und Unterstützung suchen. | |||
=== Arch Hurd === | |||
Seit Januar 2010 wird aktiv an einer Hurd-Distribution gearbeitet, die die Prinzipien von [[Arch Linux]] vertritt. | |||
== 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]]). | |||
Ferner gibt es mit dem von [[Red Hat]] (vormals [[Cygnus Solutions]]) entwickelten [[Cygwin]] ein auf [[Microsoft Windows|Windows]] aufsetzendes GNU-System. | |||
== Siehe auch == | |||
{{Portal|Freie Software}} | |||
* [[Liste der GNU-Pakete]] | |||
* [[GNU Manifesto]] | |||
* [[Definition freier Software]] | |||
== Weblinks == | |||
{{Commons|GNU}} | |||
* [https://www.gnu.org/home.de.html Website des GNU-Systems] | |||
* [https://www.debian.org/ports/hurd/index.de.html Debian GNU/Hurd-Homepage] | |||
== Einzelnachweise == | |||
<references /> | |||
{{Normdaten|TYP=s|GND=4405655-2}} | |||
[[Kategorie:Freies Betriebssystem]] | |||
[[Kategorie:GNU| ]] |
Version vom 30. November 2024, 23:53 Uhr
topic - Beschreibung
Beschreibung
Anhang
Siehe auch
Links
Weblinks
TMP
Vorlage:Dieser Artikel Vorlage:Veraltet Vorlage:Infobox Betriebssystem
GNU (Vorlage:DeS und [[[:Vorlage:IPA]]], Vorlage:Audio) ist ein unixähnliches Betriebssystem und vollständig freie Software, das im Rahmen des 1984 gestarteten GNU-Projekts als Softwaresammlung von Anwendungen und Bibliotheken entwickelt wird. GNU steht unter der GNU General Public License (GPL). Da ein eigener Kernel des Projekts, GNU Hurd, nicht für den praktischen Einsatz geeignet ist, wird das System heute in der Regel mit dem Linux-Kernel kombiniert und GNU/Linux, zumeist aber einfach Linux genannt.
Der Name GNU ist ein rekursives Akronym von „GNU’s Not Unix“ („GNU ist Nicht Unix“) und soll, um Verwechslungen zu vermeiden, wie das Tier Gnu im Deutschen ausgesprochen werden, nicht wie im Englischen (also nicht wie new). Auch als Logo wurde der Kopf einer afrikanischen Gnu-Antilope gewählt.
Geschichte
Nach der Ankündigung im Jahr 1983 und der anschließenden Gründung des GNU-Projekts im Jahr 1984, das die Entwicklung von GNU zum Ziel hatte, wird seitdem das GNU-Betriebssystem aktiv 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. Zum anderen 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 war ein Entwicklungssystem mit dem GNU-C-Compiler und vielen Systemprogrammen fertiggestellt, es fehlte aber noch ein Kernel. Die Free Software Foundation beschloss daraufhin (nach langem Hin und Her), den Mach-Kernel zu verwenden. Darauf aufbauend sollte ein Multiserverbetriebssystem geschrieben werden, 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 es die Entwickler zum wesentlich pragmatischer entwickelten Linux, die damit bei 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 Marcus Brinkmann das Debian-GNU/Hurd-Projekt ins Leben, um der Entwicklung wieder mehr Schwung zu verleihen. Die Infrastruktur des Debian-Projekts wurde für GNU Mach und GNU Hurd nutzbar gemacht, wodurch erstmals eine größere Zahl Applikationen auf das System portiert wurde. 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 von 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 vom Mach-Mikrokernel GNU Mach auf einen L4-Kernel, einen Mikrokernel der zweiten Generation, zu portieren. Dieses L4-Hurd-Projekt wurde wie Debian GNU/Hurd ebenfalls maßgeblich von Marcus Brinkmann vorangetrieben und koordiniert. Im Februar 2005 war 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. Im Januar 2006 gab es Überlegungen, statt des L4-Mikrokernels Coyotos zu verwenden.
Kernel
Das GNU-Projekt sieht für GNU den Kernel GNU Hurd vor. Die Entscheidung für diesen experimentellen Kernel stellte einen wichtigen Grund für die stockende Entwicklung eines nutzbaren GNU-Betriebssystems dar.
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 Dezember 2015) der Standard-Mikrokernel von GNU Hurd. GNU Mach läuft bisher nur auf Maschinen der veralteten Intel-32-Bit-Architektur. Weitere Portierungen sind für die Zukunft geplant, allerdings stagniert die Entwicklung.[2] Da die Kombination aus Mach und Hurd damit immer noch schlecht produktiv einsetzbar ist, wird sehr häufig Linux als Kernel eingesetzt und das gesamte System nur „Linux“ statt GNU/Linux genannt.
„Hurd/L4“ oder auch „L4-Hurd“[3] ist ein Projekt, das „GNU Hurd“ auf den L4-Mikrokernel portieren und damit langfristig GNU Mach ablösen sollte. L4 hat sich jedoch als ungeeignet herausgestellt.[4]
GNU/Linux und dessen Bestandteile
Die Kombination von GNU und dem Linux-Kernel ermöglicht ein ausgereiftes stabiles Betriebssystem für Personal Computer, Server und Embedded Systems und besteht aus folgenden Teilen:
Teile mit Betriebssystemrelevanz
- GNU-Pakete[5][6] (mit Betriebssystemrelevanz), bestehend aus Shell, Coreutils, Compiler wie GCC, Bibliotheken wie glibc und Umsetzung sämtlicher Funktionen des POSIX System Application Program Interface (POSIX.1)[7][8] usw. Der GCC-Compiler kann Maschinencode für eine große Anzahl von Computer-Architekturen generieren.[9]
- Non-GNU-Programme mit Betriebssystemrelevanz, welche vom GNU-Projekt für den Gebrauch mit GNU vorgesehen sind.[10] Da diese Programme bereits als Freie Software zur Verfügung standen (also Lizenzbedingungen haben, die mit den Freiheitszielen des GNU-Projekt vereinbar sind), mussten diese Programme nicht vom GNU-Projekt selbst geschrieben werden. Beispiele sind das X Window System.[11]
- Linux-Kernel als hardwarenahe Software, mit der das System auf einer großen Anzahl von Computer-Architekturen betrieben werden kann; der Kernel implementiert Scheduling, Multitasking, Gerätetreiber, Speicherverwaltung usw.[12] Linus Torvalds veröffentlichte den Linux-Kernel 1992 unter der GNU General Public License;[13] dieser ist nicht Teil des GNU-Projekts.[14][15][16][17]
Teile ohne Betriebssystemrelevanz
- Programme unter Freier Lizenz (z. B. Anwendungsprogramme, z. T. auch vom GNU-Projekt),[18] zum Beispiel Bazaar, GIMP oder GNU Octave
- Proprietäre Programme werden vom GNU-Projekt und der Free Software Foundation streng abgelehnt,[19] da sie nicht ihren Freiheitszielen entsprechen. Dazu gehört z. B. Adobe Flash Player.
Programme
Um ein vollständiges Betriebssystem zu ermöglichen, wurden eine Softwaresammlung von Anwendungen, Bibliotheken und Dienstprogrammen für Entwickler – GNU-Software oder -Pakete genannt – sowie GNU Hurd als Kernel programmiert.[20]
Da GNU Hurd als Systemkernel bisher schlecht zum produktiven Einsatz geeignet ist, wird GNU als Betriebssystem in der Regel zusammen mit dem Linuxkernel eingesetzt. Linux als Kernel enthält jedoch auch proprietäre Firmware, weshalb sich mit dem Ziel einer freien Variante der Fork Linux-libre in der Entwicklung befindet.
Unix-Dienstprogramme wurden durch entsprechende GNU-Projekte ersetzt, da sich bei Vergleichen herausstellte, dass GNU-Software stabiler und weniger anfällig für Fehler war.[21] Einige GNU-Programme, 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 Texteditor GNU Emacs und der GNU Debugger.
Zu beachten ist, dass nicht jede Software, die üblicherweise mit einer GNU/Linux-Distribution 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.
Geschichte
Das erste für GNU geschriebene Programm war der Texteditor GNU Emacs von Richard Stallman. Die Arbeit daran begann im September 1984.[22] Anfang 1985 wurde es von Stallman selbst erstmals als benutzbar eingestuft. In dieser Zeit war der Softwarevertrieb über das Internet noch nicht üblich, da Zugänge selten waren. Software wurde stattdessen auf Disketten verkauft.
1991 entwickelte Linus Torvalds, inspiriert durch GNU, einen neuen Kernel: Linux. Dieser wurde 1992 unter der GNU General Public License freigegeben und wurde von einigen Distributoren als Variante zum noch nicht fertiggestellten Systemkernel GNU Hurd eingesetzt.[23] Es ist Linux zu verdanken, dass heute tatsächlich eine Version des GNU-Systems ausführbar ist.[24] Im Zuge zunehmender Popularität wurde diese Variante GNUs fälschlicherweise „Linux“ genannt. Richard Stallman legt daher auf die Bezeichnung GNU/Linux wert.[25] (Siehe auch GNU/Linux-Namensstreit.)
Status
Das Betriebssystem wird nach wie vor ständig aktualisiert. Auch GNU Hurd befindet sich nur sporadisch in der Entwicklung,[2] da noch nicht alle Bereiche Hurds fertig implementiert wurden. Die Entwicklung an den Mikrokerneln ist mittlerweile zum Teil eingeschlafen. Auf der anderen Seite sind GNU-Dienstprogramme aber vollständig. GNU wird seit Jahren überwiegend in der Linux-basierten Variante namens GNU/Linux 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 78 % der ca. 30.000 im offiziellen Debian-Archiv enthaltenen Pakete wurden bislang erfolgreich für Debian GNU/Hurd übersetzt.[26]
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.
Arch Hurd
Seit Januar 2010 wird aktiv an einer Hurd-Distribution gearbeitet, die die Prinzipien von Arch Linux vertritt.
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).
Ferner gibt es mit dem von Red Hat (vormals Cygnus Solutions) entwickelten Cygwin ein auf Windows aufsetzendes GNU-System.
Siehe auch
Weblinks
Einzelnachweise
- ↑
- ↑ 2,0 2,1
- ↑ Mailing lists auf der GNU-Webseite
- ↑
- ↑ Alle GNU-Pakete (gnu.org)
- ↑ GNU @ Free Software Directory (fsf.org)
- ↑ POSIX – The GNU C Library
- ↑ glibc (Posix)
- ↑ GCC Zielsysteme
- ↑ https://ftp.gnu.org/non-gnu/
- ↑ https://ftp.gnu.org/non-gnu/X11.README
- ↑ The Linux Kernel Archives
- ↑ Release Notes for Linux v0.12
- ↑ Sollte die GNU/[Name]-Konvention auf alle Programme angewandt werden, die unter GPL stehen? GNU/Linux FAQ von Richard Stallman
- ↑ Warum GNU/Linux statt GNU Linux schreiben? GNU/Linux FAQ von Richard Stallman
- ↑ Ist es nicht falsch, das Werk von Linus Torvalds als GNU zu bezeichnen? GNU/Linux FAQ von Richard Stallman
- ↑ Ist Linus Torvalds damit einverstanden, dass Linux nur der Betriebssystemkern ist? GNU/Linux FAQ von Richard Stallman
- ↑ FSF Free Software directory
- ↑ Ruinöse Kompromisse vermeiden (gnu.org)
- ↑ 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. Februar 2000.
- ↑ Richard Stallman: Das GNU-Projekt auf gnu.org, 17. April 2012.
- ↑ GNU Hurd-Status, 17. April 2012.
- ↑ Richard Stallman: Das GNU-Projekt, 17. April 2012.
- ↑ Richard Stallman: GNU-Nutzer, die noch nie von GNU gehört haben, 17. April 2012.
- ↑