Einführung
Im allgemeinen Sprachgebrauch bezeichnet «Linux» oft eine Gruppe von Betriebssystemdistributionen, die auf dem Linux-Kernel basieren. Genauer gesagt bezieht sich Linux jedoch nur auf den Kernel selbst. Um ein vollständiges Betriebssystem zu erstellen, enthalten Linux-Distributionen typischerweise Werkzeuge und Bibliotheken des GNU-Projekts und anderer Quellen. In letzter Zeit nutzen immer mehr Entwickler Linux, um mobile Anwendungen zu entwickeln und auszuführen. Das Betriebssystem hat auch eine wichtige Rolle bei der Entwicklung kostengünstiger Geräte wie Chromebooks gespielt, die Betriebssysteme auf dem Kernel aufbauen. Im Cloud Computing und in Serverumgebungen im Allgemeinen ist Linux aus bestimmten betrieblichen Gründen eine beliebte Wahl:
- Die Distributionen sind aktuell und werden von anderen Entwicklergemeinschaften unterstützt.
- Dieses Betriebssystem kann auf einer breiten Palette von Hardware ausgeführt werden und lässt sich neben bestehenden Systemen installieren (eine nützliche Funktion in lokalen Entwicklungsumgebungen).
- Unterstützt die zentrale Installation von Software aus vorkonfigurierten Repositories.
- Der Ressourcenbedarf ist gering.
- Wenn Entwickler Programmier-Ökosysteme und die für Server benötigten Tools aufbauen, ist Linux in der Regel die erste Wahl, was zu einer hohen Kompatibilität führt.
- Es ermöglicht Ihnen, notwendige Änderungen am Verhalten des Betriebssystems vorzunehmen.
Linux hat auch seine Wurzeln in der Bewegung für freie und Open-Source-Software, weshalb es von einigen Entwicklern aus ethischen und betrieblichen Gründen verwendet wird:
- Für manche Entwickler bedeutet die Verwendung von Linux ein Bekenntnis zu offenem Zugang und Meinungsfreiheit.
- Die Linux-Community ist auch für einige Entwickler attraktiv: Bei Fragen können sie auf die von dieser Community erstellten Ressourcen zurückgreifen oder sich direkt an einen der aktiven Maintainer wenden.
Um die Rolle von Linux in der Entwicklergemeinschaft (und darüber hinaus) zu verstehen, gibt dieser Artikel einen kurzen Überblick über die Geschichte von Linux im Kontext von Unix und untersucht einige populäre Linux-Distributionen.
Wurzeln in Unix
Linux hat seine Wurzeln in Unix und Multix, zwei Projekten, die ein robustes Mehrbenutzer-Betriebssystem entwickeln wollten.
Der Beginn von Unix
Unix entstand aus dem Multix-Projekt im Computer Science Research Center der Bell Labs. Die Entwickler, die bei den Bell Labs und anderswo an Multix arbeiteten, waren daran interessiert, ein Mehrbenutzer-Betriebssystem mit einstufigem Speicher, dynamischer Verknüpfung (bei der ein laufender Prozess das System auffordern konnte, seinem Adressraum einen weiteren Abschnitt hinzuzufügen, um Code aus diesem Abschnitt auszuführen) und einem hierarchischen Dateisystem zu entwickeln.
Die Bell Labs stellten die Finanzierung des Multix-Projekts 1969 ein, doch eine Forschergruppe um Ken Thompson und Dennis Ritchie arbeitete weiter an den ursprünglichen Projektprinzipien. 1972/73 beschlossen sie, das System in C neu zu schreiben, was Unix einzigartig portabel machte: Anders als andere zeitgenössische Betriebssysteme konnte Unix unabhängig von seiner Hardware weitergeführt werden.
Die Forschung und Entwicklung bei den Bell Labs (später AT&T) wurde jedoch fortgesetzt, und die Unix Systems Labs entwickelten in Zusammenarbeit mit Sun Microsystems Unix-Versionen, die von kommerziellen Unix-Anbietern weit verbreitet eingesetzt wurden. Parallel dazu wurde die Forschung in akademischen Kreisen weitergeführt, insbesondere von der Computer Systems Research Group an der University of California, Berkeley. Diese Gruppe entwickelte die Berkeley Software Distribution (BSD), die zahlreiche Betriebssysteme inspirierte, von denen viele noch heute im Einsatz sind. Zu den zwei historischen BSD-Distributionen gehören NeXTStep, ein von NeXT entwickeltes Betriebssystem, das die Grundlage für macOS und andere Produkte bildete, und MINIX, ein Betriebssystem für Bildungszwecke, das für Linus Torvalds bei der Entwicklung von Linux zum Maßstab wurde.
Hauptmerkmale von Unix
Unix konzentriert sich auf die Prinzipien der Klarheit, Portabilität und Parallelverarbeitung.
- Auflösung: Unix' modularer Aufbau ermöglicht die Ausführung von Funktionen auf begrenzte und spezifische Weise. Das Dateisystem ist einheitlich und hierarchisch, was die Datenmanipulation vereinfacht. Im Gegensatz zu einigen seiner Vorgänger implementiert Unix Hunderte (nicht Tausende) von Systemaufrufen, von denen jeder einem direkten und klaren Zweck dient.
- Portabilität: Indem das Bell Labs-Team Unix in C schrieb, bereitete es das Betriebssystem auf dessen breite Anwendung vor. C wurde entwickelt, um einen flachen Speicherzugriff, minimale Laufzeitunterstützung und eine effiziente Verbindung zwischen Sprache und Maschinenbefehlen zu ermöglichen. Dank der C-basierten Grundlage war Unix anpassungsfähig und konnte problemlos auf verschiedenster Hardware ausgeführt werden.
- Synchronisation: Der Unix-Kernel wurde (in Zusammenarbeit mit dem Multix-Projekt) speziell für die Unterstützung mehrerer Benutzer und Arbeitsabläufe entwickelt. Der Kernel-Bereich in Unix ist vom Benutzerbereich getrennt, wodurch mehrere Programme gleichzeitig ausgeführt werden können.
Die Evolution von Linux
Unix warf wichtige Fragen für Entwickler auf, war aber in seinen frühen Versionen noch proprietär. Das nächste Kapitel seiner Geschichte erzählt daher, wie Entwickler innerhalb und gegen das Framework arbeiteten und so freie und Open-Source-Alternativen entstanden.
Open-Source-Experimente
Richard Stallman war eine Schlüsselfigur unter den Entwicklern, die sich von der Idee inspirieren ließen, offene Alternativen zu Unix zu schaffen. Während seiner Tätigkeit am MIT Artificial Intelligence Laboratory begann er mit dem GNU-Projekt (kurz für “GNU’s not Unix!”) und verließ das Labor schließlich 1984, um Komponenten von GNU als freie Software zu verbreiten. Der GNU-Kernel, bekannt als GNU HURD, wurde zum Mittelpunkt der Free Software Foundation (FSF), die 1985 gegründet wurde und weiterhin von Stallman geleitet wird.
Parallel dazu arbeitete ein anderer Entwickler an einer freien Alternative zu Unix: Linus Torvalds, ein finnischer Student. Frustriert von der MINIX-Lizenz kündigte Torvalds am 25. August 1991 der MINIX-Benutzergruppe an, dass er ein Betriebssystem entwickle, das MINIX ähneln sollte. Obwohl der Kernel zunächst auf MINIX basierte und den GNU C-Compiler nutzte, entwickelte sich der Linux-Kernel schnell zu einem eigenständigen Projekt. Ein Entwicklerteam veröffentlichte 1994 Version 1.0.
Hauptmerkmale von Linux
Obwohl der Linux-Kernel viele Ziele und Merkmale von Unix erbt, unterscheidet er sich in folgenden Punkten vom Vorgängersystem:
- Die Kernkomponente ist der Kernel, der unabhängig von anderen Betriebssystemkomponenten entwickelt wird. Das bedeutet, dass Linux verschiedene Quellen (wie beispielsweise GNU) verwendet, um ein vollständiges Betriebssystem zu erstellen.
- Es handelt sich um ein freies und quelloffenes Betriebssystem. Sein Kernel ist unter der GNU General Public License (GPL) lizenziert (ein Ergebnis der Arbeit der FSF am GNU-Projekt) und steht zum Download und zur Modifizierung bereit. Die GPL schreibt vor, dass abgeleitete Werke die Lizenzbedingungen der Originalsoftware beibehalten müssen.
- Linux besitzt einen monolithischen Kernel, ähnlich wie Unix, kann aber Kernel-Code dynamisch laden und entladen.
- Dieses Betriebssystem bietet im Gegensatz zu herkömmlichen Unix-Implementierungen Unterstützung für Multiprozessoren (SMP).
- Sein Kernel ist vorhersehbar, was einen weiteren Unterschied zu Unix darstellt.
- Der Kernel unterscheidet nicht zwischen Threads und normalen Prozessen.
- Dieses Betriebssystem verfügt über eine Befehlszeilenschnittstelle (CLI) und kann auch über eine grafische Benutzeroberfläche (GUI) verfügen.
Beliebte Linux-Distributionen
Viele beliebte Linux-Distributionen werden heute von Entwicklern gepflegt. Eine der ältesten ist Debian, eine freie Open-Source-Distribution mit 50.000 Softwarepaketen. Debian inspirierte die ebenfalls populäre Distribution Ubuntu, die von Canonical Ltd. finanziert wird. Ubuntu verwendet das DEB-Paketformat und die Paketverwaltungswerkzeuge von Debian, und Ubuntu-Entwickler tragen mit ihren Beiträgen zu Debian bei.
Eine ähnliche Beziehung besteht zwischen Red Hat, Fedora und CentOS. Red Hat entwickelte 1993 seine eigene Linux-Distribution und teilte zehn Jahre später seine Bemühungen in Red Hat Enterprise Linux und Fedora auf, ein Community-basiertes Betriebssystem, das den Linux-Kernel und Komponenten des GNU-Projekts verwendet.
Ergebnis
In diesem Artikel haben wir die Unix-Wurzeln von Linux und einige seiner prägenden Merkmale behandelt. Wenn Sie mehr über die Geschichte von Linux und Unix-Varianten (einschließlich FreeBSD) erfahren möchten, empfehlen wir Ihnen unsere Artikelreihe über FreeBSD. Schauen Sie sich auch unsere Reihe „Erste Schritte mit Linux“ an.









