Linux

3.3817204301112 (1488)
Geschrieben von goldorak 06/04/2009 @ 16:17

Tags : linux, betriebssysteme, computer, high-tech

Neueste Nachrichten
AVGs Anti-Malware-Lösung für Linux erstmals auch als Gratisversion - ZDNet.de
AVG Technologies hat Version 8.5 seiner Anti-Malware-Lösung für Linux vorgestellt. Das Sicherheitsunternehmen verspricht eine höhere Scanleistung, neue Antiviren-Filter, eine einfachere Handhabung und eine allgemein verbesserte Performance....
Videoschnitt auch unter Linux möglich - sueddeutsche.de
Hobbyfilmern steht auch unter Linux eine große Auswahl an kostenloser Open-Source-Software zur Verfügung. Um mit einfachem Videoschnitt einzusteigen, eigneten sich vor allem die Programme «Kino» und «Avidemux», berichtet die Zeitschrift «c't» in ihrem...
Videowettbewerb: What do you do with Linux? - Pro-Linux
Was machen Sie mit Linux? Diese Frage stell sich Novell und reicht sie auch gleich, gierig nach Antworten, in Form eines Videowettbewerbs an die Linux-Gemeinschaft weiter. Gesucht werden kleine Filmchen auf Englisch, in der Anwender ihre persönliche...
China installiert proprietäres Betriebssystem auf seinen Militär ... - Heise Newsticker
Einem Sicherheitsberater der US-Regierung zufolge würden die USA erhebliche Probleme bei einem möglichen Angriff auf chinesische Systeme haben, da sowohl die dafür vorhandenen Tools als auch die Ausbildung der Einheiten auf Windows, Unix und Linux...
MontaVista stellt MontaVista Linux 6 vor - Pro-Linux
Der Spezialist für eingebettete Linux-Systeme MontaVista hat die Version 6 seines Linux für eingebettete Geräte vorgestellt. Mit MontaVista Linux 6 führt der Distributor marktspezifische Distributionen ein und bezeichnet dies als revolutionäre Neuerung...
Kernel-Patch-Software Ksplice gewinnt MIT-Wettbewerb - Golem.de
Mit der Software der Firma lassen sich Sicherheitsupdates für den Linux-Kernel ohne Neustart einspielen. Ksplice hat den Hauptpreis von 100.000 US-Dollar beim Unternehmerwettbewerb des MIT gewonnen. Damit investiert das MIT in Unternehmen,...
Leser fragen, Rossi antwortet - Heute: Linux - PC Games
Glaubst Du, es besteht eine reelle Chance, das Linux sich langfristig als ernst zunehmende Gaming-Plattform etabliert? Wenn ja, welche Voraussetzungen müssen dafür eintreffen? Diese Frage treibt mich um, da ich Linux nutze, das Open-Source-Konzept (auf...
Kritik an der Linux-Strategie des Kantons Solothurn - Pro-Linux
Die Linux-Migration des Kantons Solothurn dauert länger als erwartet und kämpft immer noch mit Software, die nicht für Linux konzipiert wurde. Nach einem Bericht der Berner Zeitung wird die Kritik an der Migration nun immer lauter....
Linux, Mac, Windows, unabhängig - SAT + Kabel
Zum Chiffrieren von Dateien und Verzeichnissen legt truecrypt virtuelle Laufwerke an. Diese funktionieren wie ein gewöhnliches Wechsellaufwerk. Beim Speichern verschlüsselt truecrypt die Daten automatisch in dieser Containerdatei....
Das nächste Betriebssystem für Netbooks - ORF.at
Mit einer eigenen Starter Edition versucht Microsoft, Windows 7 preislich zu Linux konkurrenzfähig zu machen - allerdings mit der Einschränkung, dass damit nur drei Programme gleichzeitig genutzt werden können. Mit Windows 7 will Microsoft einige...

Linux

Tux, der Linux-Pinguin

Linux (dt. ) oder GNU/Linux (siehe GNU/Linux-Namensstreit) ist ein freies Multiplattform-Mehrbenutzer-Betriebssystem, das den Linux-Kernel verwendet, auf GNU basiert und Unix-ähnlich ist. Erstmals in größerem Stil eingesetzt wurde Linux 1992 nach der GPL-Lizenzierung des Linux-Kernels.

Das modular aufgebaute Betriebssystem wird von Softwareentwicklern auf der ganzen Welt weiterentwickelt, die an den verschiedenen Projekten mitarbeiten. Es sind sowohl Unternehmen als auch Non-Profit-Organisationen und Einzelpersonen beteiligt, die dies als Hobby betreiben. Im praktischen Einsatz werden meist sogenannte Linux-Distributionen genutzt, in denen verschiedene Software zu einem fertigen Paket zusammengestellt ist. Jede Distribution enthält somit Linux beziehungsweise den Linux-Kernel. Es gibt eine Vielzahl von Linux-Distributionen, aber für die aktuellen Kernel 2.2.x, 2.4.x und 2.6.x jeweils nur eine stabile, eine aktiv gepflegte und eine weiter entwickelte Version – nebenbei wird der (stabile) 2.6.16er-Zweig noch gepflegt und es werden Patches für vorhergehende Versionen bereitgestellt. Allerdings passen viele Distributoren und versierte Benutzer den Betriebssystemkern mehr oder weniger für ihre Zwecke an.

Die Einsatzbereiche von Linux sind vielfältig und umfassen unter anderem die Nutzung auf Desktop-Rechnern, Servern, Mobiltelefonen, Routern, Multimedia-Endgeräten und Supercomputern. Dabei variiert die Verbreitung von Linux in den einzelnen Bereichen drastisch. So ist Linux im Server-Markt eine feste Größe, während es auf dem Desktop bisher nur eine geringe Rolle spielt. Ebenfalls spielt die wirtschaftliche und geographische Lage einer Region eine wichtige Rolle. So planen vorrangig südamerikanische Schwellenländer den verstärkten Einsatz von Linux.

Das 1983 von Richard Stallman ins Leben gerufene GNU-Projekt hatte das Ziel, ein UNIX-ähnliches, POSIX-kompatibles Betriebssystem zu schaffen. Zwar war bereits Anfang der 90er Jahre eine ansehnliche Menge von Software geschrieben worden, doch steckte der eigentliche Betriebssystem-Kern noch in einer frühen Phase und entwickelte sich nur langsam. Die ebenso freie Berkeley Software Distribution, die sich in den 80er Jahren entwickelt hatte, war in einen Rechtsstreit mit ungewissem Ausgang verwickelt und war aus diesem Grund ebenso keine Alternative als freies Betriebssystem. Damit stand Anfang der Neunziger kein vollständiges, freies System zur Verfügung, welches für Entwickler interessant gewesen wäre.

1991 begann Linus Torvalds in Helsinki (Finnland) mit der Entwicklung einer Terminal-Emulation, um unter anderem seinen eigenen Computer besser zu verstehen. Mit der Zeit merkte er, dass sich das System immer mehr zu einem Betriebssystem entwickelte und kündigte es daraufhin in der Usenet-Themengruppe für das Betriebssystem Minix, comp.os.minix an. Im September desselben Jahres sollte das System dann auf einem Server den Interessierten zur Verfügung gestellt werden. Da der damalige FTP-Server-Administrator Ari Lemmke mit den von Torvalds vorgesehenen Namen Freax oder Buggix nicht einverstanden war, stellte jener es stattdessen in einem Verzeichnis mit dem Namen Linux zur Verfügung. Torvalds widersetzte sich anfangs dieser Namensgebung, gab seinen Widerstand aber schnell auf, da er nach eigener Aussage eingestehen musste, dass Linux einfach ein besserer Name war.

Linux wurde zu dieser Zeit noch unter einer eigenen Lizenz veröffentlicht, welche die kommerzielle Nutzung verbot. Schnell merkte Torvalds aber, dass diese hinderlich war, und entschied sich dazu, allen Entwicklern deutlich mehr Freiraum zu geben. Er und seine Mitautoren stellten daraufhin 1992 Linux unter die GNU GPL. Somit konnte man Linux in GNU integrieren und dies als das erste freie Betriebssystem vertreiben. Dieser Schritt machte das System für eine noch größere Zahl von Entwicklern interessanter, da es für diese die Modifizierung und Verbreitung vereinfachte. 1996 kündigte Torvalds an, dass er einen Pinguin als Maskottchen für Linux haben wolle, und schrieb einen Wettbewerb aus, aus dem schließlich der populäre Tux hervorging.

Der am 12. Oktober 1994 entdeckte Asteroid (9885) Linux wurde nach dem Linux-Betriebssystem benannt.

Die Bezeichnung Linux wurde von Torvalds anfänglich nur für den von ihm geschriebenen Kernel genutzt. Dieser wurde anfänglich auf Minix verwendet. Nachdem Torvalds und die anderen Linux-Autoren 1992 Linux unter der GNU GPL vertrieben, wurde der Kernel in GNU integriert. Diese GNU-Variante wurde schnell zur meist genutzten Variante, da es zu dieser Zeit keinen funktionierenden freien Kernel gab. Als Torvalds und seine Anhänger später auch das gesamte Betriebssystem als Linux bezeichneten, versuchte der Gründer des GNU-Projekts, Richard Stallman, bald, den Namen GNU/Linux durchzusetzen, um der Rolle von GNU eine in seinen Augen angemessene Geltung zu verschaffen. Diese Forderung stieß auf unterschiedliche Reaktionen. Während das GNU-Projekt und das Debian-Projekt den Namen annahmen, lehnten die meisten Entwickler und anderen Linux-Distributoren dies ab oder widersetzten sich deutlich. Begründet wurde dies einerseits mit Bequemlichkeit, weil der Name Linux als einfacher angesehen wurde, und andererseits mit dem Hinweis, dass mittlerweile eine beachtliche Menge der mit Linux ausgelieferten Software nicht aus dem GNU-Projekt stamme.

Die Entwicklung des Linux-Kernels wird noch immer von Torvalds organisiert. Dieser ist dafür bei der gemeinnützigen Linux Foundation angestellt. Andere wichtige Entwickler werden oft von verschiedenen Unternehmen bezahlt. So arbeitet z. B. Andrew Morton im Auftrag von Google am Linux-Kernel und ist dabei im sogenannten Merge Window für das Sammeln aller Änderungen und das Weiterleiten an Torvalds zuständig.

Neben der Kernel-Entwicklung haben sich auch andere Projekte um das Betriebssystem gesammelt, die es für eine größere Nutzerzahl interessant machten. So ermöglichen grafische Benutzeroberflächen wie KDE oder GNOME einen hohen Benutzerkomfort beim Einsatz als Desktop-System. Verschiedene auf den Desktop ausgelegte Linux-Distributionen vereinfachten die Installation und Konfiguration von Linux so weit, dass sie auch von Anfängern problemlos gemeistert werden können.

Eine weltweite Entwickler- und Nutzergemeinde erstellt eine Vielzahl an weiterer Software und Dokumentation rund um Linux, die die Einsatzmöglichkeiten enorm ausgedehnt haben. Hinzu kommt, dass Hersteller proprietärer Software zunehmend einen Markt bei Linux-Anwendern erkennen und mit der Zeit vermehrt Programme für Linux anbieten. Dabei läuft die Entwicklung schwerpunktmäßig freier Software sowohl in selbstorganisierten Projekten, bestehend aus ehrenamtlichen und bezahlten Entwicklern, als auch in teilweise von Unternehmen unterstützten Stiftungen. Gemein ist allen Modellen, dass sie sich stark über das Internet vernetzt haben und dort ein Großteil der Organisation und Absprache stattfindet.

Schon früh kam es rund um Linux zum Streit. 1992 griff Andrew S. Tanenbaum Linux wegen eines aus seiner Sicht veralteten Designs und eines zu liberalen Entwicklungsmodells an. Später kam Tanenbaum erneut ins Spiel, als Ken Brown an seinem Buch Samizdat schrieb und nach Anhaltspunkten suchte, dass Linux nur eine Kopie von Unix sei. Tanenbaum nahm Linux diesmal in Schutz, wenn auch mit der Begründung, dass Linux ein zu schlechtes Design habe, als dass es abgeschrieben sein könne.

Anderen Streit gab es mit erklärten Konkurrenten. Schon früh wurden interne Microsoft-Dokumente (Halloween-Dokumente) bekannt, die aufzeigten dass Microsoft annahm, Linux sei die größte Gefahr für Windows. Später begann Microsoft mit einer Kampagne, um Windows bei einer Gegenüberstellung mit Linux technisch wie wirtschaftlich gut aussehen zu lassen. Während die Community diese Kampagne recht gelassen sah, starteten vor allem Unternehmen im Linux-Umfeld Gegenkampagnen. Im Herbst 2006 aber kündigten Microsoft und Novell an, im Bereich von Interoperabilität und Patentschutz zusammenzuarbeiten, um so die Zusammenarbeit der einzelnen Produkte zu verbessern.

Ein anderer Konkurrent, der Unix-Hersteller SCO, erhob wiederum 2003 den Vorwurf, dass bei IBM angestellte Linux-Entwickler Quellcode von SCOs Unix in Linux kopiert hätten. Das Verfahren wurde im Sommer 2007 eingestellt, die SCO Group hat mittlerweile Insolvenz angemeldet und wurde vom Börsenhandel ausgeschlossen. Im Artikel SCO gegen Linux ist der Streit chronologisch dokumentiert.

Ebenfalls machte das Markenrecht Linux schon früh zu schaffen. So ließen einige Privatpersonen Mitte der 1990er Jahre den Namen Linux auf sich eintragen, was Torvalds nur mit viel Hilfe wieder rückgängig machen konnte. Er übertrug die Verwaltung der Markenrechte an das Linux Mark Institute, welches wiederum im Jahr 2005 auffiel, als es die Lizenzen für den Markenschutz auf bis zu 5.000 Dollar pro Jahr festlegte. Diese Summe brachte hauptsächlich die Gemüter vieler Community-Projekte in Wallung, woraufhin sich Torvalds genötigt fühlte, in einem offenen Brief Stellung zu nehmen und klarzustellen, dass das Geld schlichtweg benötigt wird, damit das gemeinnützig arbeitende Linux Mark Institute seine eigenen Kosten decken kann.

Die Bezeichnung Linux wurde von Linus Torvalds anfänglich nur für den Kernel genutzt, dieser stellt der Software eine Schnittstelle zur Verfügung, mit der sie auf die Hardware zugreifen kann, ohne sie genauer zu kennen. Der Linux-Kernel ist ein in der Programmiersprache C geschriebener monolithischer Betriebssystemkern, wichtige Teilroutinen, sowie zeitkritische Module sind jedoch in prozessorspezifischer Assemblersprache programmiert. Der Kernel ermöglicht es, nur die für die jeweilige Hardware nötigen Treiber zu laden, weiterhin übernimmt er auch die Zuweisung von Prozessorzeit und Ressourcen zu den einzelnen Programmen, die auf ihm gestartet werden. Bei den einzelnen technischen Vorgängen orientiert sich das Design von Linux stark an seinem Vorbild Unix.

Der Linux-Kernel wurde zwischenzeitlich auf eine sehr große Anzahl von Hardware-Architekturen portiert. Das Repertoire reicht von eher exotischen Betriebsumgebungen wie dem iPAQ-Handheld-Computer oder gar Digitalkameras bis hin zu Großrechnern wie IBMs System z und neuerdings auch Mobiltelefonen wie dem Motorola A780. Trotz Modulkonzept blieb die monolithische Grundarchitektur erhalten. Die Orientierung der Urversion auf die verbreiteten x86-PCs führte früh dazu, verschiedenste Hardware effizient zu unterstützen und die Bereitstellung von Treibern auch unerfahrenen Programmierern zu ermöglichen. Die hervorgebrachten Grundstrukturen beflügelten die Verbreitung.

Auf kernel.org werden alle Kernel-Versionen archiviert. Die dort zu findende Version ist der jeweilige Referenzkernel. Auf diesem bauen die sogenannten Distributionskernel auf, die von den einzelnen Linux-Distributionen um weitere Funktionen ergänzt werden. Eine Besonderheit stellt dabei das aus vier Zahlen bestehende Versionsnummernschema dar, z. B. 2.6.14.1. Es gibt Auskunft über die exakte Version und damit auch über die Fähigkeiten des entsprechenden Kernels. Von den vier Zahlen wird die letzte für Fehlerbehebungen und Bereinigungen geändert, nicht aber für neue Funktionen oder tiefgreifende Änderungen. Aus diesem Grund wird sie auch nur selten mit angegeben, wenn man beispielsweise Kernel-Versionen vergleicht. Die vorletzte, dritte Zahl wird geändert, wenn neue Fähigkeiten oder Funktionen hinzugefügt werden. Gleiches gilt für die ersten beiden Zahlen, bei diesen müssen die Änderungen und neuen Funktionen jedoch drastischer ausfallen. Da die erste Zahl aber zuletzt 1996 geändert wurde, gibt die zweite Zahl faktisch Auskunft über große, tiefgreifende Änderungen. Dementsprechend aufmerksam wurden z. B. die Neuerungen des 2003 veröffentlichten Kernels 2.6 beobachtet.

Die Pflege der einzelnen Versionen ist dabei je nach Version im Sinne der zweiten Zahl aufgeteilt. Gegenwärtig ist David Weinehall für die 2.0er Serie verantwortlich, Marc-Christian Petersen für den Kernel 2.2, Willy Tarreau für den Kernel 2.4 und Andrew Morton für den aktuellen stabilen Kernel 2.6.

Der aktuelle stabile Kernel wurde ab Dezember 2001 auf Basis des damaligen 2.4er-Kernels entwickelt und weist eine Reihe von Neuerungen auf. Die auffälligste Auswirkung dieser Änderungen ist, dass graphische und interaktive Anwendungen deutlich schneller ausgeführt werden.

Eine der wichtigsten Änderungen war dabei die Verbesserung des sogenannten Schedulers, den Ingo Molnar für den 2.6er-Kernel komplett neu konzipierte. Er hat die Fähigkeit, das Zuweisen von Prozessorzeit zu unterschiedlichen Prozessen unabhängig von der Anzahl der Prozesse gleich rasch zu erledigen. Damit wird der Aufwand zur Ressourcenverteilung des Systems unabhängig von der Zahl der laufenden Programme. Eine andere Neuerung stellt die Einführung von Access Control Lists dar, mit deren Hilfe ein sehr fein abgestimmtes Rechtemanagement möglich ist, was vor allen Dingen in Umgebungen mit vielen Benutzern sehr wichtig ist. Ebenso verfügt der neue Kernel über ein deutlich verbessertes System der Dateiüberwachung. In der neuen Version, Inotify genannt, gibt die Überwachung bei jeder Operation an einer Datei eine Nachricht ab, was z. B. für Desktop-Suchmaschinen wichtig ist, die daraufhin ihren Index in Bezug auf diese Datei aktualisieren können.

Die Entwicklung von Linux liegt durch die GPL und durch ein sehr offenes Entwicklungsmodell nicht in der Hand von Einzelpersonen, Konzernen oder Ländern, sondern in der Hand einer weltweiten Gemeinschaft vieler Programmierer, die sich in erster Linie über das Internet austauschen. In vielen E-Mail-Listen, aber auch in Foren und im Usenet besteht für jedermann die Möglichkeit, die Diskussionen über den Kernel zu verfolgen, sich daran zu beteiligen und auch aktiv Beiträge zur Entwicklung zu leisten. Durch diese unkomplizierte Vorgehensweise ist eine schnelle und stetige Entwicklung gewährleistet, die auch die Möglichkeit mit sich bringt, dass jeder dem Kernel Fähigkeiten zukommen lassen kann, die er benötigt. Eingegrenzt wird dies nur durch die Kontrolle von Linus Torvalds und einigen speziell ausgesuchten Programmierern, die das letzte Wort bei der Aufnahme von Verbesserungen und Patches haben. Auf diese Weise entstehen täglich grob 4.300 Zeilen neuer Code, wobei auch täglich ungefähr 1.800 Zeilen gelöscht und 1.500 geändert werden. (Angaben nach Greg Kroah-Hartmann als Durchschnitt für das Jahr 2007). An der Entwicklung sind derzeit ungefähr 100 Maintainer für 300 Subsysteme beteiligt.

Das Betriebssystem Linux ist eine Zusammenstellung verschiedener Software, die je nach Bedingung unterschiedlich sein kann. Die so entstehenden Distributionen unterscheiden sich teilweise sehr deutlich.

Die Notwendigkeit von Linux-Distributionen ergab sich durch das Entwicklungsmodell von Linux nahezu sofort. Die Werkzeuge des GNU-Projekts wurden zügig für Linux angepasst, um ein arbeitsfähiges System bereitstellen zu können. Die ersten Zusammenstellungen dieser Art waren 1992 MCC Interim Linux, Softlanding Linux System (SLS) und Yggdrasil Linux. Die älteste bis heute existierende Distribution, Slackware von Patrick Volkerding, folgte 1993 und stammt von Softlanding Linux System ab.

Mit der Ausbreitung der Linux-Distributionen bekamen mehr Menschen die Möglichkeit, das System zu testen, des Weiteren wurden die Distributionen immer umfangreicher, so dass ein immer größerer Einsatzbereich erschlossen werden konnte, was Linux zunehmend zu einer attraktiven Alternative zu Betriebssystemen etablierter Hersteller werden ließ. Im Laufe der Zeit änderte sich auch der Hintergrund der Distributionen: Wurden die ersten Distributionen noch der Bequemlichkeit halber und von Einzelpersonen oder kleinen Gruppen geschrieben, gibt es heutzutage teilweise sehr große Gemeinschaftsprojekte Freiwilliger, Unternehmens-Distributionen oder eine Kombination aus beidem.

Hinter den meisten, vorrangig kleinen Distributionen stehen heutzutage über das Internet koordinierte Projekte Freiwilliger. Die großen Distributionen werden eher von Stiftungen und Unternehmen verwaltet. Auch der Einsatzbereich der einzelnen Distributionen differenzierte sich mit der Zeit stark. Vom Desktop-PC über Server-Installationen und Live-CDs bis hin zu Distributionen zu technischen Forschungszwecken ist alles vertreten. Die Zusammensetzung einer üblichen Linux-Distribution für den Desktop-PC umfasst eine große Zahl von Softwarekomponenten, die das tägliche Arbeiten ermöglichen. Die meisten Distributionen werden in Form fertiger CD- oder DVD-Images im Internet bereitgestellt oder mit Support-Verträgen oder Handbüchern verkauft.

Für besondere Anwendungsbereiche existieren oft keine direkt installierbaren Distributionen. Hier werden Frameworks wie OpenEmbedded z. B. für Router oder Handys verwendet, um eine Distribution für den Einsatz auf dem Gerät vorzubereiten.

Es wird eine große Anzahl an Distributionen angeboten, die dem Benutzer eine sehr feine Abstimmung der Auswahlkriterien auf die eigenen Bedürfnisse ermöglicht. Die Auswahl der geeignetsten Distribution ist für viele unerfahrene Benutzer daher nicht einfach. Die verwendete Software kann mehr Gewicht für Privatanwender haben als für Unternehmen, die wiederum mehr Wert auf die Verfügbarkeit offiziellen Supports legen. Auch kann die Politik des Projekts oder dem Unternehmen hinter der Distribution, z. B. in Bezug auf proprietäre Software, ebenso eine Rolle spielen wie die Eigenschaften der Community in diesem Projekt.

Auf den Seiten Liste von Linux-Distributionen und Vergleich von Linux-Distributionen finden sich eine Aufzählung und eine Gegenüberstellung der wichtigsten oder populärsten Distributionen.

Die Vielfalt der Distributionen, die teilweise verschiedene binäre Formate, eigene Verzeichnisstrukturen und ähnliche Unterschiede aufweisen, führt zu einem gewissen Grad an Inkompatibilität zwischen den Distributionen. So kann Software, die für die Distribution A bereitgestellt wird, nicht notwendigerweise auch auf der Distribution B installiert werden. Verschiedene Sichtweisen und Lösungsansätze zu dieser Problematik werden im Hauptartikel Linux-Distributionen näher beleuchtet.

Die Einsatzgebiete von Linux sind seit der ersten Version stetig erweitert worden und decken heutzutage einen weiten Bereich ab.

Die vielseitigste Computerinstallation ist die des PCs als Schreibtischgerät. Neben dem Anspruch, dass der Computer ohne Hintergrundwissen nutzbar sein muss, umfassen auch die Aufgaben eine große Bandbreite: vom Netzwerkgerät über Multimediasystem, Softwareentwickler-Platz und Office-Station bis hin zum Spielecomputer. Aus diesem Grund bringen heutige Linux-Distributionen eine entsprechend große Menge meist freier Software mit sich, die diese Bereiche abdeckt. Ein dabei für Neulinge häufig auffälliges Problem ist, dass Windows-Software nicht ohne weiteres unter Linux funktionieren kann, sofern sie nicht vom Hersteller extra für Linux bereitgestellt wird. Projekte und Emulatoren wie Wine und Cedega gehen das Problem zwar an, decken aber nur einen Teil der vorhandenen Windows-Programme ab. In anderen Fällen müssen neue Nutzer dann zu Alternativen greifen und sich damit ebenfalls umgewöhnen.

Trotz des umfangreichen Angebots wird Linux im Desktop-Bereich noch eher zögerlich eingesetzt, da das System sich vom vorherrschenden Konkurrenten unterscheidet und deswegen eine gewisse Einarbeitungszeit nötig ist. Auch unter den Distributionen sind einige Vorgehensweisen nicht einheitlich geregelt, darunter die Art der Softwareinstallation. Hinzu kommt, dass die beiden weit verbreiteten Desktop-Umgebungen GNOME und KDE unterschiedliche Benutzerrichtlinien haben und deswegen Programme der einen Oberfläche in der anderen fremdartig erscheinen. Um diese Probleme anzugehen, gibt es mittlerweile eine Reihe von Initiativen und Projekten, welche Standards und Richtlinien veröffentlichen, um sowohl Entwicklern wie auch Nutzern den Umgang mit einem Linux-System zu vereinfachen.

Die Verbreitung von Linux auf dem Desktop wird gegenwärtig als eher gering eingeschätzt, überdurchschnittliche Verbreitung findet es dabei aber in größeren Netzwerken, in denen viele Nachteile durch zentrale Administration und Schulung wegfallen. Bekannt geworden sind in dem Zusammenhang auch größere Migrationen von Unternehmen oder Institutionen, die mehrere hundert oder tausend Rechner auf Linux-Desktops umgestellt haben, wie die Stadt München im Rahmen des LiMux-Projekts oder die Umstellung von 20.000 Desktops bei Peugeot Citroën. Durch die Auslieferung vorinstallierter Systeme einiger Fachhändler sowie der zunehmenden Popularität einiger Distributionen wie Ubuntu konnte seit Anfang 2007 ein Zuwachs der Verwendung von Linux im Desktopbereich um fast 30 Prozent erzielt werden. In Großbritannien lag der Marktanteil 2008 bei etwa 2,8 Prozent.

Aufgrund der Kompatibilität von Linux mit anderen UNIX-Systemen hat sich Linux auf dem Servermarkt besonders schnell etabliert. Da für Linux schon früh zahlreiche häufig verwendete und benötigte Serversoftware wie Webserver, Datenbankserver und Groupware kostenlos und weitgehend uneingeschränkt zur Verfügung stand, wuchs dort der Marktanteil stetig.

Da Linux als stabil und einfach zu warten gilt, erfüllt es auch die besonderen Bedingungen, die an ein Server-Betriebssystem gestellt werden. Der modulare Aufbau des Linux-Systems ermöglicht zusätzlich das Betreiben kompakter, dedizierter Server. Außerdem hat die Portierung von Linux auf verschiedenste Hardwarekomponenten dazu geführt, dass Linux alle bekannten Serverarchitekturen unterstützt.

Eingesetzt wird es dabei für praktisch alle Einsatzbereiche. Eines der bekanntesten Beispiele ist die Linux-Server-Konfiguration LAMP, bei der Linux mit Apache, MySQL und PHP/Perl (manchmal auch Python) kombiniert wird. Auch proprietäre Geschäftssoftware wie SAP R/3 ist mittlerweile auf verschiedenen Distributionen verfügbar und hat eine Installationszahl von über 1000 Systemen erreicht. Das Linux Terminal Server Project ermöglicht es sämtliche Software außer dem BIOS der Clients zentral zu verwalten.

Da Linux auf einer Vielzahl von verschiedenen Hardwaretypen betrieben werden kann, ist auch die für Linux-Server genutzte Hardware ähnlich umfangreich. Auch moderne Hardware wie die von IBMs eServer p5 wird unterstützt und ermöglicht dort das parallele Ausführen von bis zu 254 Linux-Systemen (Modell p595). Auf IBM-Großrechnern der aktuellen System-z-Linie läuft Linux wahlweise nativ, mittels PR/SM in bis zu 30 LPARs oder in jeder davon unter z/VM in potenziell unbegrenzt vielen, real einigen zehntausend virtuellen Maschinen.

Da Linux beliebig angepasst werden kann, hat es sich auch in Rechenzentren ausgebreitet, in denen speziell angepasste Versionen auf Großrechnern, Computerclustern oder Supercomputern laufen. November 2008 hielt Linux auf der Liste der 500 schnellsten Supercomputer einen Marktanteil von 87.8%.

Auf der anderen Seite wird es ebenso in kleinen Endgeräten wie Mobiltelefonen oder PDAs eingesetzt. Auch NAS-Speichersysteme oder WLAN-Router können Linux als Betriebssystem nutzen. Vorteil ist, wie in anderen Bereichen auch, dass eine sehr aktive Entwicklergemeinschaft vorherrscht, auf deren Ressourcen (der Kern mit den Schnittstellen- Speicherverwaltungs- und Netzwerkfunktionen, aber z. B. auch umfangreiche Entwicklerprogramme, bereits bestehender Code wie die Benutzeroberflächen OPIE oder GPE Palmtop Environment, Erfahrung etc.) die Hersteller dabei zurückgreifen können.

Die Gründe für die Bewertung von Linux als sicheres System sind verschieden und hängen auch vom Einsatzbereich ab. So verfügt Linux als Desktop-System über eine strenge Unterteilung der Zugriffsrechte, die bei anderen verbreiteten Desktop-Systemen im Normalfall nicht eingehalten wird. Dies führt unter anderem dazu, dass viele Funktionsprinzipien verbreiteter Würmer und Viren bei Linux nicht greifen können. Bisher traten nur zwei Viren unter Linux auf, Staog und Bliss. Im Vergleich zu anderen Desktop-Systemen hat Linux die erste größere Verbreitung bei Nutzern mit einem sehr technischen und sicherheitsbewussten Umfeld erfahren. Die Entwicklung geschah somit, verglichen mit anderen verbreiteten Desktop-Systemen, unter den Augen eines sehr sicherheitskritischen Publikums. Im Gegensatz zu Desktop-Systemen hängt die Sicherheit bei Serversystemen primär vom Grad der Erfahrung der Administratoren mit dem System selbst ab. Linux punktet dabei durch die freie Verfügbarkeit, die es Administratoren ermöglicht, das System ohne Mehrkosten in verschiedensten Testszenarien zu installieren und dort ausgiebig zu untersuchen. Unter sicherheitstechnisch besonders anspruchsvollen Bereichen kommt zum Tragen, dass es eine Reihe von speziell gehärteten Linux-Distributionen gibt, die den Ansprüchen entsprechend gerecht werden. Initiativen wie SELinux bemühen sich dort um das Erfüllen hoher Sicherheitsstandards.

Für alle Einsatzbereiche spricht, dass Linux nicht auf eine Hardware-Architektur festgelegt ist. Würmer und Viren können sich immer nur auf dem Teil der Linux-Systeme verbreiten, auf deren Hardware sie zugeschnitten sind. Hinzu kommt, dass Linux quelloffene Software ist. Jeder kann also den Quellcode studieren, untersuchen und anpassen. Dies führt unter anderem auch dazu, dass der Quelltext (sei es zum Zwecke der Anpassung, zum Zwecke der Schulung, aus dem Sicherheitsinteresse einer Institution oder eines Unternehmens heraus oder aus privatem Interesse) von mehr Menschen studiert wird, als dies bei proprietärer Software der Fall sein kann.

Vom technischen Gesichtspunkt her verfügt Linux über viele Fähigkeiten, die eine sicherheitstechnisch anspruchsvolle Umgebung erfordert. Dazu gehört sowohl eine einfache Nutzer- und Gruppenrechteverwaltung mittels Role Based Access Control, wie auch eine komplexere Rechteverwaltung mit Hilfe von Access Control Lists. Zusätzlich implementieren viele aktuelle Distributionen auch Mandatory-Access-Control-Konzepte mit Hilfe der SELinux/AppArmor-Technik.

Ebenso bietet fast jede Linux-Distribution auch eine Secure-Shell-Implementierung, mit der verschlüsselte und deswegen sichere Verbindungen zwischen Computern gewährleistet werden können. Andere Verschlüsselungstechnologien wie Transport Layer Security werden ebenfalls voll unterstützt.

Im Rahmen der Verschlüsselung für auf Medien gespeicherte Daten steht das Kryptographie-Werkzeug dm-crypt zur Verfügung, das eine Festplattenverschlüsselung ermöglicht. Es bietet dabei die Möglichkeit der Verschlüsselung nach aktuellen Standards wie dem Advanced Encryption Standard. Transparente Verschlüsselung, bei der nur einzelne Dateien statt ganzer Festplatten verschlüsselt werden, steht zurzeit für Linux nur mit dem Dateisystem ReiserFS zur Verfügung. Zu den Sicherheitszertifikaten, die im Zusammenhang mit Linux erworben wurden, siehe den Abschnitt Software-Zertifikate.

Um den Grad der Kenntnisse von Technikern und Administratoren messbar zu machen, wurden eine Reihe von Linux-Zertifikaten ins Leben gerufen. Das Linux Professional Institute (LPI) bietet dafür eine weltweit anerkannte Linux-Zertifizierung in drei Levels, die ersten beiden Level (LPIC-1 und LPIC-2) mit jeweils zwei Prüfungen und den dritten Level (LPIC-3) mit momentan einer Core-Prüfung (301) und einer Erweiterungsprüfung (302 Samba). Auch die großen Linux-Distributoren wie Red Hat, Novell und Ubuntu bieten eigene Schulungszertifikate an, die aber zum Teil auf die Distributionen und deren Eigenheiten ausgelegt sind.

Um den Grad der Sicherheit von Technologie-Produkten zu bewerten, gibt es ebenfalls eine Reihe von Zertifikaten, von denen wiederum viele für bestimmte Linux-Distributionen vergeben wurden. So hat z. B. das Suse Linux Enterprise Server 9 des Linux Distributors Novell die Sicherheitszertifikation EAL4+ nach den Common Criteria for Information Technology Security Evaluation erhalten, Red Hat hat für seine Redhat Enterprise Linux 4 Distribution ebenso die EAL4+ Zertifizierung erhalten. Ein Problem bei der Zertifizierung stellen für viele Distributoren allerdings die hohen Kosten dar. So kostet eine Zertifizierung nach EAL2 etwa 400.000 US-Dollar.

Der jährlich stattfindende LinuxTag und die LinuxWorld Conference & Expo in Frankfurt sind die größten, jährlich stattfindenden Messen zu den Themen Linux und freie Software. Neben den Ausstellungen aller namhaften Unternehmen und Projekte aus dem Linux-Umfeld wird den Besuchern auch ein Vortragsprogramm zu verschiedenen Themen geboten. Der LinuxTag selbst existiert seit 1996 und zog zuletzt jährlich mehr als 10.000 Besucher an. Neben dem großen LinuxTag gibt es noch eine Vielzahl kleinerer und regionaler Linuxtage, die oft von Informatikfakultäten an Universitäten organisiert werden.

Zu den weiteren internationalen Messen gehört der Linux Kongress – Linux System Technology Conference in Hamburg. Ein Kuriosum ist die jährlich stattfindende LinuxBierWanderung, die Linux-Enthusiasten der ganzen Welt eine Möglichkeit zum gemeinsamen „Feiern, Wandern und Biertrinken“ geben will.

Neben den allgemeinen Messen und Kongressen findet jedes Jahr das LUG-Camp statt. Dieses wird seit dem Jahre 2000 von Linux-Benutzern aus dem Raum Flensburg bis hin zur Schweiz organisiert und besucht.

Mit der zunehmenden Verbreitung von Linux hat sich auch ein Angebot an Printmedien entwickelt, die sich mit der Thematik beschäftigen. Neben einer Vielzahl an Büchern zu allen Aspekten von Linux haben sich auch regelmäßig erscheinende Zeitschriften auf dem Markt etabliert. Bekannteste Vertreter sind hier die einzelnen Hefte der Linux New Media AG, die monatlich (Linux-Magazin, Linux-User) oder vierteljährlich (EasyLinux) erscheinen. Schon seit einer ganzen Weile produzieren auch große Computer-Verlage wie IDG (PC-WELT Linux), Weka (PC-Magazin Linuxlife) oder Vogel Burda (Chip Linux) Linux-Heftreihen, die meist alle drei Monate eine neue Ausgabe präsentieren. Auch das Verlagshaus Data Becker engagiert sich mit der Zeitschrift Linux Intern auf diesem Terrain des Wettbewerbs. Darüber hinaus erscheint mit der Zeitschrift Xfree des Computer&Literaturverlags ein Periodicum für Open-Source-orientierte UNIXoide Betriebssysteme, in welchem auch Linux-Themen zum Tragen kommen.

Die Thematik rund um Linux wurde auch in einer Reihe von Dokumentationen behandelt. So behandelt der Kino-Dokumentationsfilm Revolution OS die Geschichte von Linux, freier Software und Open Source und stützt sich dabei größtenteils auf diverse Interviews mit bekannten Vertretern der Szene. Die TV-Dokumentation Codename: Linux, in Deutschland von ARTE ausgestrahlt, geht ähnliche Wege, stellt aber auch einen chronologischen Verlauf der Entwicklung von Linux und Unix dar.

Neben den bereits angesprochenen Problemen, die sich aus der nur bedingten Kompatibilität der Linux-Distributionen ergeben, gibt es weitere Kritik und Probleme rund um Linux.

Als einer der Haupt-Kritikpunkte an Linux wird oft genannt, dass nicht jede Hardware von Linux unterstützt wird oder Treiber für Linux nicht verfügbar sind. Viele Hardware-Hersteller stellen entsprechende Treiber für aktuellere Versionen von Microsoft Windows und Mac OS X zur Verfügung, während Linux-Treiber nur selten bereitgestellt werden. Ein Grund für dieses Verhalten ist das Entwicklungsmodell des Linux-Kernels: Da er keine feste Treiber-API besitzt, müssen Treiber immer wieder an Veränderungen in den einzelnen Kernel-Versionen angepasst werden. Direkt in den Kernel integrierte Treiber werden zwar von den Kernel-Entwicklern meist mitgepflegt, müssen aber unter der GNU General Public License veröffentlicht sein, was einige Hardware-Hersteller ablehnen. Extern zur Verfügung gestellte Treiber müssen aber ebenfalls ständig angepasst und in neuen Versionen veröffentlicht werden, was einen enormen Entwicklungsaufwand mit sich bringt. Außerdem ist die rechtliche Lage solcher externen Module, die nicht unter der GPL stehen, umstritten.

Das Problem der Hardwareunterstützung wird im Linux-Umfeld kontrovers diskutiert: Während manche für ein komplettes Ausschließen von proprietären Kernel-Modulen plädieren, befürworten andere, dass einige Hersteller überhaupt – zur Not auch proprietäre − Treiber bereitstellen, und argumentieren für diese sogenannten Binärtreiber (Gewähren von Binärdateien ohne Offenlegung des Quellcodes), dass die Linux-Nutzer ohne sie benachteiligt wären, weil sie ohne diese Treiber von bestimmter Hardware schlicht abgeschnitten wären.

Häufig sind Nutzer in Fällen fehlender Treiber darauf angewiesen, dass Dritte Ersatz-Treiber entwickeln. Diese Treiber unterstützen aber häufig nur rudimentäre Funktionen und werden erst geraume Zeit nach der Markteinführung der entsprechenden Hardware verfügbar.

Digitale Rechteverwaltung wird hauptsächlich im Zusammenhang mit digital zu kaufenden Musik- und Video-Daten genutzt. Die dort eingesetzten Verfahren sind aber nicht standardisiert, sondern werden von den jeweiligen Herstellern kontrolliert. Die beiden größten Hersteller digitaler Rechteverwaltungssysteme im Endverbraucherumfeld, Microsoft und Apple, haben mit Stand Februar 2007 keine entsprechenden Programme für Linux veröffentlicht oder auch nur entsprechende Absichten bekannt gegeben. Somit ist es nicht möglich, entsprechende Daten unter Linux-Systemen zu nutzen.

Technische Schranken spielen dabei aber keine Rolle, da freie DRM-Verfahren verfügbar sind. Auch betont z. B. Linus Torvalds, dass sich Linux und DRM nicht ausschließen.

Die Konfiguration von Linux-Systemen kann sehr fein abgestimmt werden, erfordert aber in einigen Fällen sehr viel Erfahrung und Vorwissen, da nicht immer graphische Oberflächen, Hilfsprogramme oder einfach verständliche Konfigurationsdialoge zur Verfügung stehen. Dieser Umstand wird oft von weniger versierten Benutzern kritisiert, da er die Linux-Nutzung erschwert.

Aus diesem Grund arbeiten gerade einsteigerorientierte Distributionen wie z. B. Ubuntu oder openSUSE daran, solche Probleme zu beheben. Dies wird je nach Problem mittels sinnvoller Vorkonfiguration, Automatisierung (besonders bei der Hardware-Einrichtung) oder durch spezielle Programme zur Systemkonfiguration zu erreichen versucht.

Zum Seitenanfang



Geschichte von Linux

Das GNU-Maskottchen

Seit seiner ersten Veröffentlichung hat sich Linux, ein auf GNU basierendes Betriebssystem, stark weiterentwickelt. Es gab Streit um den Namen und neue Unterstützer sind ebenso hinzugekommen wie auch Gegner.

Dieser Artikel gibt einen detaillierten Überblick über die Geschichte von Linux. Ein allgemeiner Überblick über die Thematik Linux selbst findet sich im Hauptartikel Linux.

Die Geschichte von Linux und Unix ist eng mit einander verflochten, aber dennoch nicht gleich. Anfangs, bis 1979 die Unix-Version V7 erschien, war Unix ein praktisch frei verfügbares System. Bis dahin wurde der Quellcode von Unix gegen Erstattung der Kopier- und Datenträgerkosten frei an Universitäten und andere Einrichtungen verteilt – Unix hatte damit als eines der ersten Betriebssysteme den Charakter eines freien, gut portablen Betriebssystems. Der Code wurde auch in Vorlesungen und Veröffentlichungen verwendet und konnte nach den eigenen Vorstellungen entsprechend geändert, ergänzt oder portiert werden.

In den folgenden Jahren, den frühen Achtzigern, setzte jedoch ein kommerzielleres Denken ein, ohne das man viele Diskussionen um die GPL (oder LGPL) oder andere Lizenzmodelle kaum nachvollziehen kann. AT&T beschloss, das gesamte System, bestehend aus eigenem geistigem Eigentum, aber auch aus frei beigesteuerten Erweiterungen, als proprietäres AT&T Unix zu vermarkten, folglich durfte nun auch der AT&T-Quellcode nicht mehr öffentlich zugänglich gemacht werden. Das sorgte insbesondere im universitären Umfeld für Unverständnis, und 1983 gründete Richard Stallman das GNU-Projekt mit dem Ziel, ein Unix-ähnliches, POSIX-kompatibles Betriebssystem zu schaffen. Zwei Jahre später gründete er die Free Software Foundation (FSF) und schrieb die GNU General Public License (GPL), um freie Software im Copyright-System zu ermöglichen.

Auf diesem Wege verbreitete sich die GNU-Software sehr schnell und wurde von vielen Menschen weiterentwickelt. Es entstand in kurzer Zeit eine Vielzahl von Programmen, so dass bereits Anfang 1990 genug GNU-Software bereitstand, um ein eigenes Betriebssystem daraus zu erstellen. Allerdings fehlte noch immer ein Kernel. Dieser sollte eigentlich im Projekt GNU Hurd entwickelt werden. Doch der als Mikrokernel ausgelegte Kern entwickelte sich nur sehr schleppend, weil das Finden und Beheben von Fehlern (Debuggen) aufgrund technischer Besonderheiten sehr schwierig und aufwändig war.

Ein anderes Projekt rund um ein Betriebssystem aus freier Software war in den 1980er Jahren auch die Berkeley Software Distribution, kurz BSD. Diese hatte sich aus Eigenentwicklungen der Universität Berkeley aus den Unix-Versionen der 4er Edition und folgender von AT&T entwickelt. Da aber in den BSD-Versionen noch immer Code von AT&Ts Unix enthalten war, kam es Anfang der 1990er Jahre zu einem Rechtsstreit zwischen AT&T und der Universität Berkeley, der die Entwicklung von BSD stark einschränkte und einige Jahre stark verlangsamte.

Anfang der 1990er gab es also kein vollständiges, freies Betriebssystem. Die Zukunft von BSD war wegen des Rechtsstreits ungewiss, die Weiterentwicklung gelähmt, das GNU-Projekt wurde zwar konstant weiterentwickelt und ausgebaut, verfügte aber über keinen UNIX-artigen Kernel, vielmehr war es eine Anzahl freier Softwareprojekte, die auf den verschiedensten (proprietären) UNIX-Varianten mittels des GNU-Compilers übersetzt werden konnten und lauffähig waren.

1991 begann Linus Torvalds in Helsinki mit der Entwicklung des Kernels, der später Linux genannt wurde. Anfänglich war es eine Terminalemulation, die Torvalds zum Zugriff auf die großen Unix-Server der Universität benutzte. Er schrieb das Programm hardwarenah und unabhängig von einem Betriebssystem, weil er die Funktionen seines neuen PCs mit einem Prozessor des Typs 80386, dessen x86-Befehlssatz auch heute noch zum Standard zählt, optimal nutzen wollte. Als Grundlage dienten dabei das Minix-System und der GNU-C-Compiler.

Am 17. September 1991 wurde Linux in der Version 0.01 das erste Mal öffentlich auf einem FTP-Server zur Verfügung gestellt.

Eigentlich sollte Linux nach dem Willen von Linus Torvalds Freax heißen, eine Wortschöpfung aus Freak (Verrückter, aber auch jemand, der sich für etwas begeistert), Free für Freie Software und dem oftmals üblichen x in Anspielung auf die Ähnlichkeit zu Unix. Aus diesem Grund hatte Torvalds zu Beginn seiner Arbeit an dem System etwa ein halbes Jahr lang die Dateien unter Freax abgelegt. Auch den Namen Linux hatte sich Torvalds bereits überlegt, er erschien ihm aber zu egozentrisch. Um anderen Leuten die Möglichkeit zu geben, am System mitzuarbeiten oder Verbesserungsvorschläge zu machen, sollten die Dateien im September 1991 auf dem FTP-Server (ftp.funet.fi) der Helsinki University of Technology (HUT) abgelegt werden. Der damalige Verantwortliche für den Server, Ari Lemmke (Mitarbeiter am HUT), war mit dem Namen Freax nicht einverstanden, er bevorzugte den Arbeitsnamen Linux. Ohne mit Torvalds darüber zu diskutieren, nannte er den Bereich am Server einfach Linux, was Torvalds schließlich akzeptierte, um große Diskussionen zu vermeiden und auch, wie Torvalds zugibt, weil Linux einfach der bessere Name war. Im Sourcecode der Version 0.01 von Linux kam noch der Name Freax vor („Makefile for the FREAX-kernel“), später wurde nur noch der Name Linux verwendet. So setzte sich der eigentlich gar nicht geplante Name Linux weltweit durch.

Torvalds gab Linux zuerst unter einer eigenen, proprietären Lizenz heraus, entschied sich aber später dafür, die GNU GPL den übrigen Urhebern vorzuschlagen. Im Changelog zur Version 0.12 im Januar 1992 kündigt er die Lizenzänderung an. Die Mitte Dezember 1992 veröffentlichte Version 0.99 ist die erste Version unter der GNU GPL.

Die Bezeichnung Linux wurde von Torvalds anfänglich nur für den von ihm initiierten Kernel genutzt. Der Kernel wurde aber häufig zusammen mit anderer Software, vor allen der des GNU-Projekts ausgeliefert. Diese GNU-Variante wurde schnell zur meist genutzten Variante von GNU, da es zu dieser Zeit keinen anderen funktionierenden freien Kernel gab. Als im Laufe der Zeit der Name Linux auch häufig für diese Softwaresammlungen genutzt wurde, versuchte der Gründer des GNU-Projekts, Richard Stallman, bald, den Namen GNU/Linux durchzusetzen, um der Rolle von GNU eine in seinen Augen angemessene Geltung zu verschaffen. Im Juni 1994 wurde im GNU’s Bulletin mit „freier UNIX-Klon“ auf Linux verwiesen und im selben Jahr gab das Debian-Projekt seiner GNU/Linux-Distribution den Namen GNU/Linux. In der Januarausgabe 1995 des GNU’s Bulletin änderten sich die Verweise auf Linux zu GNU/Linux. Im Mai 1996 gab Richard Stallman den Editor Emacs 19.31 heraus, in dem der Systemtyp von Linux nach Lignux umbenannt wurde. Er meinte, es wäre angemessen, die Begriffe Linux-based GNU system, GNU/Linux system oder Lignux zu benutzen, um auf die Kombination von Linux-Kernel und GNU-Software hinzuweisen. Er gab jedoch bald den Ausdruck Lignux auf und benutzte nur noch GNU/Linux.

Insgesamt stieß die Forderung auf unterschiedliche Reaktionen. Während das GNU-Projekt und das Debian-Projekt den Namen annahmen, lehnten die meisten Entwickler und anderen Linux-Distributoren dies ab oder widersetzten sich deutlich. Begründet wurde dies einerseits mit Bequemlichkeit, weil der Name Linux als einfacher angesehen wurde, und andererseits mit dem Hinweis, dass mittlerweile eine beachtliche Menge der mit Linux ausgelieferten Software nicht aus dem GNU-Projekt stamme.

Ein Grund für das Ausbleiben des Begriffs »GNU/Linux« ist sicherlich, dass »Linux« einfach ein deutlich einfacherer, griffigerer Begriff ist. Das System einfach »GNU« zu nennen und den Kernel dabei unter den Tisch fallen zu lassen, traut sich niemand. Ein weiterer Grund für die weit verbreitete Nutzung des Begriffs »Linux« für das System ist wohl, dass Linus Torvalds es seit der Veröffentlichung 1992 schon immer Linux genannt hatte. Stallman hingegen meldete seine Forderung nach Namensänderung erst an, nachdem das System bereits populär geworden war.

Larry Ewing erstellte daraufhin den ursprünglichen Entwurf des heute bekannten Maskottchens. Den Namen Tux schlug James Hughes als Ableitung von Torvalds UniX vor. Ein weiterer Grund für diese Konstruktion ist vermutlich auch, dass die Farben der Pinguine den Eindruck vermitteln, als würden sie einen Smoking tragen, der im Englischen tuxedo heißt.

Als Linux-Kernel-Betreuer sind neben Torvalds auch Alan Cox und Marcelo Tosatti sehr bekannt. Cox betreute bis Ende 2003 die Kernel-Reihe 2.2, Tosatti kümmerte sich bis Mitte 2006 um die Version 2.4 und Andrew Morton steuert die Entwicklung und Verwaltung des neuen 2.6-Kernels, welcher am 18. Dezember 2003 in einer als stabil (stable) vorliegenden Version veröffentlicht wurde. Auch die älteren Zweige werden nach wie vor ständig verbessert.

Der Erfolg von Linux in vielen Einsatzbereichen ist insbesondere auf die Eigenschaften freier Software bezüglich Stabilität, Sicherheit, Erweiterbarkeit und Wartbarkeit, aber auch auf die entfallenden Lizenzkosten zurückzuführen.

Mit den grafischen Benutzeroberflächen wie KDE oder GNOME bietet Linux im Bereich der Desktops mittlerweile einen vergleichbaren Komfort zu Microsoft Windows oder Mac OS. Umfangreiche Tests der Umgebungen auf Benutzerfreundlichkeit und Effizienz ermöglichen ein Nutzen des Computers ohne besondere Kenntnisse. Techniken wie Xgl oder AIGLX ermöglichen darüber hinaus hardwarebeschleunigte, grafische Effekte auf dem Desktop.

Neben dem wachsenden Angebot proprietärer Software für Linux hat vor allen Dingen die Community das Softwareangebot für Linux stetig vergrößert und in unterschiedlichste Bereiche ausgedehnt: Mit der Zeit sind immer mehr freie Softwareprojekte entstanden, die von Entwicklungsumgebungen über Businessanwendungen bis hin zu komplexen Multimediaanwendungen reichen. Die Windows-API-Nachbildung Wine erlaubt es außerdem, mit einer stetig steigenden Anzahl von für Windows geschriebenen Programmen auch unter Linux zu arbeiten.

Die auf den Desktop ausgelegten Distributionen lassen sich einfach installieren, es werden aber auch zunehmend Komplettrechner mit vorinstalliertem Linux ausgeliefert, was der Verbreitung als Einzelplatzsystem Vorschub leistet. Im Bereich mit Masseninstallationen wie in Unternehmen oder Behörden hat Linux durch groß angelegte Migrationen z. B. in München oder Wien von sich Reden gemacht. Der Erfolg eines Desktopsystems wird aber auch durch die Verbreitung von Spielen entschieden. Einige neue Spiele der großen Spielehersteller kommen auch in Linuxversionen heraus, so stehen z. B. auch id Softwares grafiklastige Spiele Doom 3, sowie die Teile 1 bis 4 der Quake-Reihe für Linux zur Verfügung.

Der größte Teil der Arbeit an und um Linux wird durch die Community, also durch freiwillige Mitarbeiter auf der ganzen Welt, erledigt. Diese teilweise auch von Unternehmen unterstützten oder direkt angestellten Programmierer und Entwickler helfen nicht nur direkt bei der Entwicklung des Kernels, sondern auch beim Schreiben der gesamten Zusatzsoftware, die für und rund um Linux zur Verfügung steht.

Dabei gibt es sowohl die vollständig frei und selbstorganisierten Projekte wie Debian, aber auch die mit Unternehmen direkt verbundenen Projekte wie Fedora Core und openSUSE. Die Mitglieder der jeweiligen Projekte treffen bei verschiedenen Konferenzen und Messen zusammen, um sich auszutauschen. Eine der größten Messen ist dabei der LinuxTag, bei dem jährlich etwa 10.000 Menschen zusammen kommen, um sich über Linux und die darum angesiedelten Projekte zu informieren und auszutauschen.

Die Open Source Development Labs (OSDL) wurden im Jahr 2000 gegründet und sind eine unabhängige und gemeinnützige Organisation, die das Ziel verfolgt, Linux für den Einsatz in Daten-Centern und im Carrier-Bereich zu optimieren. Es dient als gesponserte Arbeitsstelle für Linus Torvalds und lange Zeit auch für Andrew Morton, der aber Mitte 2006 zu Google wechselte, in dessen Auftrag er seitdem am Linux-Kernel arbeitet. Torvalds kümmert sich im Auftrag des OSDL in Vollzeit um die Entwicklung des Linux-Kernels. Finanziert wird die nichtkommerzielle Einrichtung von namhaften Unternehmen wie Red Hat, Novell, Mitsubishi, Intel, IBM, Dell und HP.

Mittlerweile verdienen eine Reihe von Unternehmen mit Linux Geld. Diese Unternehmen, von denen die meisten auch Mitglieder der Open Source Development Labs sind, investieren teilweise erhebliche Ressourcen in die Weiterentwicklung und den Ausbau von Linux, um es für verschiedene Einsatzbereiche tauglich zu machen. Dies reicht von Hardwarespenden an Entwickler über Treiber und Geldspenden für Stiftungen, die sich mit Linux-Software beschäftigen, bis hin zur Anstellung von Programmierern beim Unternehmen selbst. Bekannte Beispiele dafür sind IBM und HP, die Linux vor allen Dingen auf den eigenen Servern einsetzen, als auch Red Hat, das eine eigene Distribution unterhält. Ebenso unterstützt Qt Software Linux durch die Entwicklung und die GPL-Lizenzierung von Qt, was die Entwicklung von KDE erst möglich macht, und durch die Förderung einiger X- und KDE-Entwickler.

Seit Beginn der Entwicklung gab es immer wieder Streit um das System.

Rückblickend kann man heute sagen, dass Tanenbaum mit seiner Prognose, Linux sei innerhalb weniger Jahre veraltet und durch ein (aus seiner Sicht) modernes GNU Hurd ersetzt, falsch lag. Linux ist auch auf alle wichtigen Plattformen portiert worden. Das liberale Entwicklungsmodell hat zu einer beispiellosen Geschwindigkeit bei der Weiterentwicklung geführt, GNU Hurd ist immer noch nicht so weit, dass man es auf einem Server einsetzen könnte.

Jahre später wurde Andrew Tanenbaum erneut mit Linux in Verbindung gebracht. Als Ken Brown sein bis heute nicht erschienenes Buch Samizdat schrieb und deshalb mit Tanenbaum sprach, erklärte dieser, Torvalds habe nicht von ihm abgeschrieben. In seiner Stellungnahme zu Brown schrieb er einen Abschnitt, der sein Verhältnis zu Linux gut dokumentiert: Natürlich habe Torvalds sein Buch und Minix gekannt.

Obwohl es Torvalds nach eigener Aussage nicht interessierte, ob Microsoft (unter anderem Hersteller des Betriebssystems Windows) durch Linux in der Vergangenheit in Bedrängnis geriet (1997–2001), wurde von beiden Seiten ein harter Konkurrenzkampf ausgetragen. Das erste Mal äußerte sich dies deutlich, als Ende Oktober 1998 das erste Halloween-Dokument von Eric S. Raymond an die Öffentlichkeit gebracht wurde. Dieses von einem Microsoft-Entwickler verfasste Dokument beschäftigt sich ausführlich mit den Gefahren freier Software für Microsoft und zeigt Strategien auf, diesen zu begegnen. Die Free Software Foundation distanzierte sich von der dadurch ausgelösten Verachtung, die sich speziell auf Microsoft bezog und erinnerte die Community daran, dass jeder Produzent proprietärer Software den Software-Anwendern schade.

Anfang 2004 erreichte der Konkurrenzkampf eine neue Phase, als Microsoft eine Reihe von in Auftrag gegebenen Studien zum Thema „Windows vs. Linux“ unter dem Namen „Get the Facts“ auf einer eigenen Webseite veröffentlichte. Die Studien sollten anhand von Umfragen, Erhebungen und Untersuchungen nachweisen, dass sich der Betrieb von Linux auf Servern verglichen mit Windows nachteilig auswirkt.

Die kommerziellen Anbieter von Linux-Software bemühten sich daraufhin, ebenfalls durch Studien, Umfragen und Erfahrungsberichte, Microsofts Kampagne etwas entgegenzustellen. So hat Novell Ende 2004 eine eigene Webseite unter dem Titel „Die reine Wahrheit“ geschaltet, auf der die Vorteile als auch die rechtliche Sicherheit von Linux hervorgehoben werden. Bemerkenswert dabei ist, dass Novell sich bei vielen Behauptungen explizit auf die von Microsoft veröffentlichten Studien bezieht. Auch IBM veröffentlichte eine Reihe von Studien unter dem Kampagnentitel „The Linux at IBM competitive advantage“, um auf die von Microsoft initiierte Kampagne zu antworten. Red Hat hingegen startete die Kampagne „Truth Happens“, die darauf abzielt, im Gegensatz zu Microsoft die Produkte nicht mit Studien zu bewerben, sondern die Leistungsfähigkeit der Produkte selbst entscheiden zu lassen.

Die meisten Mitglieder der Linux-Community nahmen die Thematik aber gelassen und stichelten mit Witzen wie „Linux – und dein PC macht nie wieder blau“ oder „Früher oder später migrieren wir euch“. Unter anderem veröffentlichte auch das Magazin LinuxUser ein nicht ganz ernst gemeintes Review von Windows XP unter den Kritikpunkten einer typischen Linux-Distribution.

Im Herbst 2006 kündigten Novell und Microsoft aber an, künftig bei den Themen Interoperabilität und Patentschutz zusammenarbeiten zu wollen. Im Rahmen der Virtualisierung wurde vereinbart, den Austausch von Office-Dokumenten zu verbessern, die Virtualisierung der Enterprise-Lösungen jeweils unter dem Konkurrenz-Produkt zu vereinfachen, sowie die Eingliederung von Linux- und Windows-Maschinen in eine gemeinsame Directory-Struktur zu vereinfachen. Der Patentschutz sah gleichzeitig vor, dass Kunden eines Anbieters für die Nutzung dessen Software vom jeweils anderen Anbieter nicht wegen Patentverletzung verklagt werden dürfen. Dieser Patentschutz wurde auch auf nicht-kommerzielle Freie-Software-Entwickler ausgedehnt. Gerade der letzte Schritt erntete auch Kritik, da er nur nicht-kommerzielle Entwickler mit einschloss.

2003 erhob SCO schwere Vorwürfe gegen den Weltkonzern IBM: Laut der Darstellung von SCO haben IBMs Linuxentwickler Code unverändert aus UNIX übernommen und in Linux eingepflegt. Da SCO für sich die Urheberrechte an UNIX beansprucht und in dem Verhalten von IBM eine Verletzung der eigenen Rechte sieht, wurde eine Klage gegen IBM angestrengt. Gleichzeitig verkauft SCO seit dem Beginn des Verfahrens Linux-Lizenzen an Nutzer, die keine mögliche Klage von Seiten SCOs riskieren wollen. Aber auch das Urheberrecht rund um UNIX ist nicht geklärt: Da Novell dieses ebenfalls für sich beansprucht, eröffnete es ein Verfahren gegen SCO.

Eine chronologische Auflistung der Ereignisse ist im Artikel SCO gegen Linux zu finden.

1994 und 1995 hatten mehrere Personen in verschiedenen Ländern versucht, den Namen Linux als Markennamen eintragen zu lassen. Daraufhin ergingen an mehrere Linux-Unternehmen Aufforderungen zu Lizenzzahlungen, womit viele Entwickler und Anhänger des Linux-Systems nicht einverstanden waren. Linus Torvalds ging mit Hilfe von Linux International gegen diese Eintragungen vor und bekam die Markenrechte der Marke Linux zugeteilt. Diese übergab Torvalds an Linux International, später übernahm diese Arbeit die dafür gegründete, nicht gewinnorientierte Organisation Linux Mark Institute. 2000 legte Linus Torvalds die Grundregeln für die Vergabe der Lizenzen fest. Diese besagen, dass jeder, der ein Produkt oder eine Dienstleistung mit dem Namen Linux anbietet, eine Lizenz dafür besitzen muss, welche durch einen einmaligen Kauf erlangt werden kann. Ausnahmen bilden dabei nicht-kommerzielle Verwendungen, die eine kostenlose Lizenz erhalten können oder keine benötigen.

Im Juni 2005 kam ein neuer Streit um die Lizenzgebühren für die Benutzung des geschützten Markennamens Linux auf, weil das Linux Mark Institute, welches Linus Torvalds Rechte vertritt, Preise von 5.000 Dollar statt bislang 500 Dollar für die Verwendung des Namens angekündigt hatte. Begründet wurde der Schritt mit den gestiegenen Kosten für die Durchsetzung der Rechte am Markennamen.

Zum Seitenanfang



Linux (Kernel)

Tuz, der maskierte Tasmanische Teufel

Linux (dt. ) ist ein „freier“ Betriebssystemkern (engl. Kernel). Er wurde 1991 von dem Finnen Linus Torvalds für die x86-Architektur entwickelt und unter der freien GNU General Public License (GPL) veröffentlicht.

Der Kern (Kernel) findet in einer Vielzahl von Distributionen und Betriebssystemen seine Anwendung. Der Begriff Linux bezeichnet somit gleichermaßen den Linux-Kern selbst, Linux-Distributionen wie auch Linux-basierte Systeme.

Der Kernel eines Betriebssystems bildet die hardwareabstrahierende Schicht (Hardwareabstraktionsschicht), das heißt, er stellt der auf dieser Basis aufsetzenden Software eine einheitliche Schnittstelle (API) zur Verfügung, die unabhängig von der Rechnerarchitektur ist. Die Software kann so immer auf die Schnittstelle zugreifen und braucht die Hardware selbst, die sie nutzt, nicht genauer zu kennen. Linux ist dabei ein modularer monolithischer Betriebssystemkern und zuständig für Speicherverwaltung, Prozessverwaltung, Multitasking, Lastverteilung, Sicherheitserzwingung und Eingabe/Ausgabe-Operationen auf verschiedenen Geräten.

Linux ist fast komplett in der Programmiersprache C geschrieben, wobei einige GNU-C-Erweiterungen benutzt werden. Eine Ausnahme bilden die architekturabhängigen Teile des Codes (im Verzeichnis arch innerhalb der Linux-Sourcen), wie zum Beispiel der Beginn des Bootvorganges, die in Assemblersprache geschrieben sind.

Bei einem strikt monolithischen Kernel wird der gesamte Quellcode inklusive aller Treiber in das Kernel-Image (den ausführbaren Kernel) kompiliert. Im Gegensatz dazu kann Linux Module benutzen, die während des Betriebs geladen und wieder entfernt werden können. Damit wird die Flexibilität erreicht, um unterschiedlichste Hardware ansprechen zu können, ohne sämtliche (auch nicht benötigte) Treiber und andere Systemteile im Speicher halten zu müssen.

Sind Teile der Hardwarespezifikationen nicht genügend offengelegt, so stützt sich Linux notfalls über spezielle VM86-Modi auch auf das BIOS des Systems, u. a. auf die Erweiterungen gemäß den Standards APM, ACPI und VESA. Um unter diesen Voraussetzungen x86-kompatible Hardware z. B. auf der DEC-Alpha-Plattform zu betreiben, werden teilweise sogar Emulatoren zur Ausführung entsprechenden ROM-Codes verwendet. Linux selbst übernimmt das System beim Bootprozess typischerweise in dem Moment, wo der BIOS-Bootloader erfolgreich war und alle Systeminitialisierungen des BIOS abgeschlossen sind.

Der Kernel ist ein Betriebssystemkern und darf nicht als das eigentliche Betriebssystem verstanden werden. Dieses setzt sich aus dem Kern und weiteren grundlegenden Bibliotheken und Programmen (die den Computer erst bedienbar machen) zusammen.

Linux ist ein monolithischer Kernel. Die Treiber im Kernel und die Kernel-Module laufen im privilegierten Modus (x86: Ring 0), haben also unbeschränkten Zugriff auf die Hardware. Einige wenige Module des Kernels laufen im eingeschränkten Benutzermodus (x86: Ring 3). Die Level 1 und 2 der x86-Architektur werden von Linux nicht genutzt.

Nahezu jeder Treiber kann auch als Modul zur Verfügung stehen und vom System dann dynamisch nachgeladen werden. Ausgenommen davon sind Treiber, die für das Starten des Systems verantwortlich sind, bevor auf das Dateisystem zugegriffen werden kann. Man kann allerdings den Kernel so konfigurieren, dass ein Cramfs- oder Initramfs-Dateisystem vor dem tatsächlichen Root-Dateisystem geladen wird, welches die weiteren für den Startprozess notwendigen Module enthält. Dadurch kann die Kernelgröße verringert und die Flexibilität drastisch erhöht werden.

Im System laufende Programme bekommen wiederum vom Kernel Prozessorzeit zugewiesen. Jeder dieser Prozesse erhält einen eigenen, geschützten Speicherbereich und kann nur über Systemaufrufe auf die Gerätetreiber und das Betriebssystem zugreifen. Die Prozesse laufen dabei im Benutzermodus (user mode), während der Kernel im Kernel-Modus (kernel mode) arbeitet. Die Privilegien im Benutzermodus sind sehr eingeschränkt. Abstraktion und Speicherschutz sind nahezu vollkommen, ein direkter Zugriff wird nur sehr selten und unter genau kontrollierten Bedingungen gestattet. Dies hat den Vorteil, dass kein Programm z. B. durch einen Fehler das System zum Absturz bringen kann.

Linux stellt wie sein Vorbild Unix eine vollständige Abstraktion und Virtualisierung für nahezu alle Betriebsmittel bereit (z. B. virtueller Speicher, Illusion eines eigenen Prozessors etc.).

Die Tatsache, dass Linux nicht auf einem Mikrokernel basiert, war Thema eines berühmten Flame Wars zwischen Linus Torvalds und Andrew S. Tanenbaum. Anfang der 1990er Jahre, als Linux entwickelt wurde, galten monolithische Kernels als obsolet (Linux war zu diesem Zeitpunkt noch rein monolithisch). Die Diskussion und Zusammenfassungen sind im Artikel Geschichte von Linux näher beschrieben.

Durch Erweiterungen wie FUSE und durch die zunehmende Verwendung von Kernel-Prozessen fließen mittlerweile auch Mikrokernel-Konzepte ein.

Obwohl Linus Torvalds eigentlich nicht beabsichtigt hatte, einen portierbaren Kernel zu schreiben, hat sich Linux dank des GNU Compilers GCC weitreichend in diese Richtung entwickelt. Es ist inzwischen mit eines der am häufigsten portierten Systeme (nur noch NetBSD läuft auf etwa gleich vielen Architekturen). Das Repertoire reicht dabei von eher selten anzutreffenden Betriebsumgebungen wie dem iPAQ-Handheld-Computer, Digitalkameras oder Großrechnern wie IBMs System z bis hin zu normalen Home-PCs.

Obwohl die Portierung auf die S/390 ursprünglich ein vom IBM-Management nicht genehmigtes Unterfangen war (siehe auch: Skunk Works), plant IBM auch die nächste IBM-Supercomputergeneration Blue Gene mit einem eigenen Linux-Port auszustatten, sobald sie fertig ist.

Ursprünglich hatte Torvalds eine ganz andere Art von Portierbarkeit für sein System angestrebt, nämlich die Möglichkeit, freie GPL- und andere quelloffene Software leicht unter Linux kompilieren zu können. Dieses Ziel wurde bereits sehr früh erreicht und macht sicherlich einen guten Teil des Erfolges von Linux aus, da es jedem eine einfache Möglichkeit bietet, auf einem freien System freie Software laufen zu lassen.

Ein besonderer Port ist das User Mode Linux (UML). Prinzipiell handelt es sich dabei um einen Port von Linux auf sein eigenes Systemcall-Interface. Dies ermöglicht es, einen Linux-Kernel als normalen Prozess auf einem laufenden Linux-System zu starten. Der User-Mode-Kernel greift dann nicht selbst auf die Hardware zu, sondern reicht entsprechende Anforderungen an den echten Kernel durch. Durch diese Konstellation werden „Sandkästen“ ähnlich den Virtual Machines von Java oder den Jails von FreeBSD möglich, in denen ein normaler Benutzer Root-Rechte haben kann, ohne dem tatsächlichen System schaden zu können.

µClinux ist eine Linux-Variante für Computer ohne Memory Management Unit (MMU) und kommt vorwiegend auf Microcontrollern und eingebetteten Systemen zum Einsatz. Seit Linux-Version 2.6 ist µClinux Teil des Linux-Projektes.

Auf der Website kernel.org werden alle alten und neuen Kernel-Versionen archiviert. Die dort befindlichen Referenzkernel werden auch als Vanilla-Kernel bezeichnet (von umgangssprachlich engl. vanilla für Standard bzw. ohne Extras im Vergleich zu Distributionskernels). Auf diesem bauen die sogenannten Distributionskernel auf, die von den einzelnen Linux-Distributionen um weitere Funktionen ergänzt werden.

Die erste Ziffer wird nur bei grundlegenden Änderungen in der Systemarchitektur angehoben. Während der Entwicklung des 2.5er Kernels kam wegen der relativ grundlegenden Änderungen, verglichen mit dem 2.4er Kernel, die Diskussion unter den Kernel-Programmierern auf, den nächsten Produktionskernel als 3.0 zu deklarieren. Torvalds war aber aus verschiedenen Gründen dagegen, sodass der resultierende Kernel als 2.6 bezeichnet wurde.

Die zweite Ziffer gibt das jeweilige „Majorrelease“ an. Bisher wurden stabile Versionen (sogenannte Produktionskernel) von den Entwicklern stets durch gerade Ziffern wie 2.2, 2.4 und 2.6 gekennzeichnet, während die Testversionen (sogenannte Entwicklerkernel) immer ungerade Ziffern trugen, wie zum Beispiel 2.3 und 2.5; diese Trennung ist aber seit Juli 2004 ausgesetzt, es gibt zur Zeit (2007) keinen Entwicklerkernel mit der Nummer 2.7, stattdessen werden die Änderungen laufend in die 2.6er-Serie eingearbeitet.

Zusätzlich bezeichnet eine dritte Zahl das „Minorrelease“, das die eigentliche Version kennzeichnet. Werden neue Funktionen hinzugefügt, steigt die dritte Zahl an. Der Kernel wird damit zum Beispiel mit einer Versionsnummer wie 2.6.7 bestimmt.

Um die Korrektur eines schwerwiegenden NFS-Fehlers schneller verbreiten zu können, wurde mit der Version 2.6.8.1 erstmals eine vierte Ziffer eingeführt. Seit März 2005 (Kernel 2.6.11) wird diese Nummerierung offiziell verwendet. So ist es möglich, die Stabilität des Kernels trotz teilweise sehr schneller Veröffentlichungszyklen zu gewährleisten und Korrekturen von kritischen Fehlern innerhalb weniger Stunden in den offiziellen Kernel zu übernehmen – wobei sich die vierte Ziffer erhöht (z. B. von 2.6.11.1 auf 2.6.11.2). Die Minorreleasenummer, also die dritte Ziffer, wird hingegen nur bei Einführung neuer Funktionen hochgezählt.

Neue Funktionen finden sich im sogenannten -mm Kernel des Kernelentwicklers Andrew Morton und werden anschließend in den Hauptzweig von Torvalds übernommen. Somit werden große Unterschiede zwischen Entwicklungs- und Produktionskernel und damit verbundene Portierungsprobleme zwischen den beiden Serien vermieden. Durch dieses Verfahren gibt es auch weniger Differenzen zwischen dem offiziellen Kernel und den Distributionskernel (früher wurden Features des Entwicklungszweiges von den Distributoren häufig in ihre eigenen Kernels rückintegriert). Allerdings litt 2004/2005 die Stabilität des 2.6er Kernels unter den häufig zu schnell übernommenen Änderungen. Ende Juli 2005 wurde deshalb ein neues Entwicklungsmodell beschlossen, das nach dem Erscheinen der Version 2.6.13 erstmals zur Anwendung kommt: Neuerungen werden nur noch in den ersten zwei Wochen der Kernelentwicklung angenommen, wobei anschließend eine Qualitätssicherung bis zum endgültigen Erscheinen der neuen Version erfolgt.

Während Torvalds die neuesten Entwicklungsversionen veröffentlicht, wurde die Pflege der älteren „stabilen“ Versionen an andere Programmierer abgegeben. Gegenwärtig ist David Weinehall für die 2.0er Serie verantwortlich, Marc-Christian Petersen (zuvor Alan Cox) für den Kernel 2.2, Willy Tarreau (zuvor Marcelo Tosatti) für den Kernel 2.4, Greg Kroah-Hartmann und Chris Wright für die aktuellen stabilen Kernel 2.6.x.y(-stable), Linus Torvalds für die aktuellen „normalen“ Kernel 2.6.x, und Andrew Morton für seinen experimentellen -mm-Zweig, basierend auf dem neuesten 2.6.x. Zusätzlich zu diesen offiziellen und über Kernel.org oder einen seiner Mirrors zu beziehenden Kernel-Quellcodes kann man auch alternative „Kernel-Trees“ aus anderen Quellen benutzen. Distributoren von Linux-basierten Betriebssystemen pflegen meistens ihre eigenen Versionen des Kernels und beschäftigen zu diesem Zwecke fest angestellte Kernel-Hacker, die ihre Änderungen meist auch in die offiziellen Kernels einfließen lassen.

Distributions-Kernel sind häufig intensiv gepatcht, um auch Treiber zu enthalten, die noch nicht im offiziellen Kernel enthalten sind, von denen der Distributor aber glaubt, dass seine Kundschaft sie benötigen könnte und die notwendige Stabilität respektive Fehlerfreiheit dennoch gewährleistet ist.

In einem Multitasking-fähigen Betriebssystem muss es eine Instanz geben, die den Prozessen, die laufen wollen, Rechenzeit zuteilt und sie nach Ablauf der zugeteilten Zeitspanne (Timeslice) wieder „schlafen legt“. Diese Instanz bildet der sog. Scheduler, den Ingo Molnár für den 2.6er Kernel komplett neu konzipiert und implementiert hat.

Der O(1)-Scheduler erhielt seinen Namen, weil die relevanten Algorithmen, auf denen der Scheduler basiert, die Komplexität O(1) haben. Dies bedeutet, dass die vom Scheduler für eigene Aufgaben benötigte Prozessorzeit unabhängig von der Anzahl der verwalteten Prozesse bzw. Threads ist. Insbesondere wird etwa auf Durchsuchen aller Prozesse nach dem „besten“ etc. verzichtet.

Der O(1)-Scheduler arbeitet daher auch bei sehr vielen Prozessen überaus effizient und benötigt selbst sehr wenig Rechenzeit. Er verwendet prinzipiell zwei verkettete Listen, in denen die Prozesse eingetragen sind, die noch laufen wollen, und diejenigen, die bereits gelaufen sind. Wenn alle Prozesse in der zweiten Liste stehen, werden die Arrays getauscht, und das Spiel beginnt von neuem. Der Scheduler ist darüber hinaus so ausgelegt, dass Prozesse, die große Mengen Rechenzeit in Anspruch nehmen wollen, gegenüber interaktiven Prozessen benachteiligt werden, wenn beide zur gleichen Zeit laufen wollen.

Interaktive Prozesse benötigen in der Regel nur sehr wenig Rechenzeit, sind dafür aber sehr zeitkritisch (so will der Benutzer beispielsweise nicht lange auf eine Reaktion der grafischen Oberfläche warten). Der Scheduler besitzt ausgefeilte Heuristiken, um festzustellen, ob ein Prozess interaktiv ist oder die CPU eher lange belegt.

Gegenwärtig arbeiten mehrere Kernelprogrammierer noch daran, gewisse Grenzfälle auszubalancieren (ein Prozess wird plötzlich von einem interaktiven zu einem CPU-lastigen und umgekehrt). Der interne „Takt“ des Kernels wurde ab dem Kernel 2.6 von 100 Hz auf 1000 Hz erhöht, das heißt, die kürzestmögliche Länge einer Zeitscheibe beträgt nun eine Millisekunde. Auch hiervon profitieren besonders die interaktiven Prozesse, da sie früher „wieder an der Reihe sind“. Da dies aber zu einer erhöhten CPU-Last und somit zu einem größeren Stromverbrauch führt, entschied man sich, den Takt ab dem Kernel 2.6.13 auf 250 Hz voreinzustellen. Bei der Konfiguration des Kernels sind jedoch auch noch die Werte 100 Hz, 300 Hz und 1000 Hz wählbar.

Eine weitere Stärke dieses Schedulers liegt im verbesserten Thread-Management und der besseren Unterstützung von symmetrischem Multiprocessing (SMP) und Hyper-Threading. Dies kommt vor allem hoch belasteten Servern zugute. In Testsituationen konnten unter diesem Scheduler 100.000 Threads gestartet werden, ohne dass das System subjektiv langsamer wurde. Weiterhin sorgt der neue Scheduler dafür, dass die zur Verfügung stehenden CPUs optimal ausgelastet werden, ohne Prozesse übermäßig oft zwischen zwei CPUs hin- und herwechseln zu lassen.

Mit der Kernelversion 2.6.23 wurde im Oktober 2007 der O(1)-Scheduler durch einen sog. Completely Fair Scheduler ersetzt, der ebenfalls von Ingo Molnár entwickelt wurde.

Der Kernel ist ab Version 2.6 in den meisten Funktionen präemptiv, d. h., selbst wenn das System gerade im Kernel-Modus Aufgaben ausführt, kann dieser Vorgang durch einen Prozess aus dem User-Modus unterbrochen werden. Der Kernel macht dann weiter, wenn der Usermodus-Prozess seine Timeslice aufgebraucht hat oder selbst einen Re-Schedule anfordert, also dem Scheduler mitteilt, dass er einen anderen Task ausführen kann. Dies funktioniert, bis auf einige Kernel-Funktionen, die atomar (nicht unterbrechbar) ablaufen müssen, sehr gut und kommt ebenfalls der Interaktivität zugute.

Mit dem Kernel 2.6 werden für Linux erstmals Zugriffskontrolllisten (access control lists) nativ eingeführt. Diese sehr feinkörnige Rechteverwaltung ermöglicht es vor allem Systemadministratoren, die Rechte auf einem Dateisystem unabhängig vom Gruppen- und Nutzermodell zu gestalten und dabei faktisch beliebig viele spezielle Rechte pro Datei zu setzen. Die mangelnde Unterstützung von Zugriffskontrolllisten von Linux wurde vorher als massive Schwäche des Systems im Rahmen der Rechteverwaltung und der Möglichkeiten zur sicheren Konfiguration gesehen.

Die Unterstützung von Zugriffskontrolllisten funktioniert dabei mit den Dateisystemen ext2, ext3, jfs und XFS nativ.

Mit dem Kernel 2.6.13 hält erstmals Inotify Einzug in den Kernel. Dies ermöglicht das permanente Überwachen von Dateien und Ordnern: Wird eines der überwachten Objekte geändert oder ein neues Objekt im Überwachungsraum erschaffen, gibt Inotify eine Meldung aus, die wiederum andere Programme zu definierten Tätigkeiten veranlassen kann. Dies ist insbesondere für Such- und Indexierungsmechanismen der Datenbestände von entscheidender Bedeutung, und ermöglicht erst den sinnvollen Einsatz von Desktop-Suchmaschinen wie Strigi oder Beagle. Ohne eine solche Benachrichtigungsfunktion des Kernels müsste ein Prozess die zu überwachende Datei bzw. den zu überwachenden Ordner in bestimmten Zeitintervallen auf Änderungen überprüfen, was im Gegensatz zu Inotify zusätzliche Performance-Einbußen mit sich brächte.

Soweit es möglich ist, wurde in Linux 2.6 die Maximalzahl für bestimmte Ressourcen angehoben. Die Anzahl von möglichen Benutzern und Gruppen erhöhte sich von 65.000 auf über 4 Milliarden, ebenso wie die Anzahl der Prozess-IDs (von 32.000 auf 1 Milliarde) und die Anzahl der Geräte (Major/Minor-Nummern). Weitere leistungssteigernde Maßnahmen betrafen die I/O-Scheduler, das Threading mit der neuen Native POSIX Thread Library und den Netzwerk-Stack, der nun ebenfalls in den meisten Tests O(1) skaliert ist. Außerdem wurde für die Verwaltung der I/O-Gerätedateien das früher genutzte devfs durch das neuere udev ersetzt, was viele Unzulänglichkeiten, wie zum Beispiel ein zu großes /dev/-Verzeichnis, beseitigt. Außerdem kann so eine einheitliche und konsistente Gerätebenennung erfolgen, die beständig bleibt, was vorher nicht der Fall war.

Jeff Garzik stellte Anfang 2006 fest, dass die Situation rund um WLAN-Treiber in Linux unausgegoren war: Die meisten Treiber bauten auf verschiedenen, nicht einheitlichen Systemen auf . Neue Treiber konnten damit nur schwer entwickelt werden, da schon zu Beginn unklar war, für welches Subsystem sie entwickelt werden sollten. Auch war das Warten verschiedener Subsysteme und alter Treiber schwierig und erforderte einen großen Zeitaufwand. Um diesen Problemen zu begegnen, wurde ein Verwalter für das WLAN-Subsystem bestimmt, John W. Linville, der sich seitdem um die Entwicklung kümmert. Seitdem wird an einem einheitlichen Subsystem auf der Basis des Advanced Datapath Drivers gearbeitet, der von der Firma Devicescape für den Kernel 2.6 freigegeben wurde .

Die Entwicklung von Linux liegt durch die GNU General Public License und durch ein sehr offenes Entwicklungsmodell nicht in der Hand von Einzelpersonen, Konzernen oder Ländern, sondern in der Hand einer weltweiten Gemeinschaft vieler Programmierer, die sich hauptsächlich über das Internet austauschen. In vielen Mailinglisten, aber auch in Foren und im Usenet besteht für jedermann die Möglichkeit, die Diskussionen über den Kernel zu verfolgen, sich daran zu beteiligen und auch aktive Beiträge zur Entwicklung zu leisten. Durch diese unkomplizierte Vorgehensweise ist eine schnelle und stetige Entwicklung gewährleistet, die auch die Möglichkeit mit sich bringt, dass jeder dem Kernel Fähigkeiten zukommen lassen kann, die er benötigt.

Eingegrenzt wird dies nur durch die Kontrolle von Linus Torvalds und einigen besonders verdienten Programmierern, die das letzte Wort über die Aufnahme von Verbesserungen und Patches in die offizielle Version haben. Manche Linux-Distributoren bauen auch eigene Funktionen in den Kernel ein, die im offiziellen Kernel (noch) nicht vorhanden sind.

Der Entwicklungsprozess des Kernels selbst ist wie der Kernel ebenfalls immer weiterentwickelt worden. So führte der Rechtsprozess der SCO Group um angeblich illegal übertragenen Code in Linux zur Einführung eines „Linux Developer's Certificate of Origin“, das von Linus Torvalds und Andrew Morton bekanntgegeben wurde. Diese Änderung griff das Problem auf, dass nach dem bis dahin gültigen Modell des Linux-Entwicklungsprozesses die Herkunft einer Erweiterung oder Verbesserung des Kernels nicht nachvollzogen werden konnte.

Die Versionskontrolle des Kernels unterliegt dem Programm Git. Dies wurde speziell für den Kernel entwickelt und auf dessen Bedürfnisse hin optimiert. Es wurde im April 2005 eingeführt, nachdem sich abgezeichnet hatte, dass das alte Versionskontrollsystem BitKeeper nicht mehr lange für die Kernelentwicklung genutzt werden konnte.

Die bei GPL-Software übliche Klausel, dass statt der Version 2 der GPL auch eine neuere Version verwendet werden kann, fehlt beim Linux-Kernel. Die Entscheidung, ob die im Juni 2007 erschienene Version 3 der Lizenz für Linux verwendet wird, ist damit prinzipiell nur mit Zustimmung aller Entwickler möglich. In einer Umfrage haben sich Torvalds und die meisten anderen Entwickler für die Beibehaltung der Version 2 der Lizenz ausgesprochen.

Zum Seitenanfang



Red Hat Linux

Red Hat Linux (RHL) war eine der bekanntesten Linux-Distributionen. Sie wurde von der Firma Red Hat zusammengestellt. Sie wurde im September 2003 eingestellt und ging im Fedora-Projekt und in Red Hat Enterprise Linux auf.

Die Version 1.0 wurde am 3. November 1994 veröffentlicht und basierte auf Slackware. RHL ist damit nicht ganz so alt wie Slackware selbst, jedoch älter als die meisten anderen Distributionen. Für RHL wurde das Red-Hat-Package-Manager-Paketformat entwickelt, das heute von den meisten kommerziellen Distributionen zur Verteilung von Softwarepaketen verwendet wird. Verschiedene andere Distributionen begannen ihre Geschichte ursprünglich als Zweig von Red Hat Linux, so z. B. das desktoporientierte Mandriva Linux (ursprünglich nicht mehr als ein „Red Hat Linux mit KDE“), Yellow Dog Linux (eigentlich ein „Red Hat Linux mit PowerPC-Unterstützung“), Aurox Linux und ASPLinux („Red Hat Linux mit besserer Unterstützung für nicht-lateinische Zeichensätze“).

Red Hat Linux wurde traditionell ausschließlich innerhalb von Red Hat entwickelt, das einzige Feedback von Benutzern waren deren Fehlerberichte („bug reports“) oder (indirekt) Beiträge zu den enthaltenen Open-Source-Softwarepaketen. Dies änderte sich am 22. September 2003, als Red Hat seine Endanwender-Aktivitäten und damit Red Hat Linux in das communitybasierte Fedora-Projekt einbrachte. Dieser Schritt legte die Grundlage für ein offenes, eng mit der Community verzahntes Entwicklungsmodell einer neuen Distribution, die zukünftig die Basis der weiteren Produkte von Red Hat darstellen sollte. Dabei wurde gleichzeitig beschlossen, nur noch eine Enterprise-Version der kommerziellen Distribution herauszubringen und Red Hat Linux zugunsten von Red Hat Enterprise Linux auf der einen und Fedora auf der anderen Seite einzustellen.

Red Hat Linux wurde mit einem grafischen Installer mit dem Namen Anaconda (Der Name ist eine Anspielung auf die Programmiersprache Python, in der die Applikation geschrieben wurde) installiert, der auch für Einsteiger leicht bedienbar ist. Für die Konfiguration der integrierten Firewall gab es das eingebaute Tool Lokkit. Das Design war beherrscht vom sowohl viel gelobten als auch kritisierten Desktop Theme Blue Curve, das ein einheitliches Look & Feel unter GNOME und KDE bot.

Seit Red Hat Linux 8.0 war Red Hat dazu übergegangen, nur noch Software einzubinden, die vollständig frei ist. Aus diesem Grund fehlten zum Beispiel die Fähigkeiten, MP3s abzuspielen oder auf NTFS-Partitionen zuzugreifen, da diese patentierte Verfahren beinhalteten. Eine weitere Besonderheit stellte die mit Red Hat Linux 8 erfolgte Umstellung auf UTF-8 dar. Red Hat Linux war damit eine der ersten Distributionen, die konsequent auf den Zeichensatz setzte.

Ende April 2004 hat Red Hat den Support für alle Red Hat Linux Versionen bis Version 9 beendet, um sich vollständig auf den Unternehmensbereich zu konzentrieren. Um aber die Lücke bis dahin zu füllen, stellen auf der einen Seite das Community-Projekt Fedora Legacy, auf der anderen Seite Progeny Updates für die alten Red-Hat-Linux-Versionen und auch für Fedora-Versionen zur Verfügung. Dabei ist Progeny ein kostenpflichtiges Angebot, das fünf Jahre Support garantiert, Fedora Legacy stellt Pakete so lange zur Verfügung, wie sich Menschen finden, die bereit sind, die notwendige Arbeit zu übernehmen.

Die Release-Daten beziehen sich auf die öffentlichen Ankündigungen in der Newsgroup comp.os.linux.announce, und nicht auf die tatsächliche Verfügbarkeit im Handel. Für mehr Informationen über die Versionsnamen siehe Fedora- und Red-Hat-Versionsnamen.

Zum Seitenanfang



Source : Wikipedia