Aus dem Kurs: Einführung und Einstieg in Linux

Der Linux-Kernel

Wenn wir an Linux denken, bedeutet dies in erster Linie, dass wir an ein Betriebssystem denken. Wenn wir es genau nehmen, ist Linux aber eigentlich der Kernel eines Betriebssystems. Der Kernel ist der zentrale Bestandteil. In ihm sind alle grundsätzlichen Strukturen festgelegt, auf die alle weiteren Software-Bestandteile aufbauen. Er bildet die unterste Schicht des Systems und hat direkten Zugriff auf die Hardware. Der Linux-Kernel ist ein Open-Source-Programm, das im Laufe der Jahre von Tausenden von Mitwirkenden entwickelt und modifiziert wurde. Es wurde erstmals 1991 von Linus Torvalds veröffentlicht. Linux wurde als Reaktion auf die restriktive Lizenzpolitik entwickelt, die zu dieser Zeit andere Betriebssystemhersteller vertraten. Die Linux-Kernel-Lizenz erlaubt die freie Nutzung und Weitergabe. Dieser Ansatz hat dazu geführt, dass der Linux-Kernel in einer Vielzahl von Linux-Distributionen verfügbar ist, über die wir später sprechen werden. Wie zuvor erwähnt, kommuniziert der Kernel mit der Hardware des Computers und stellt dadurch Programmen und Benutzern Zugriff auf die Ressourcen zur Verfügung, damit sie tun können, was sie tun müssen. Ein Kernel kann natürlich eigenständig laufen, ist jedoch ohne Programme, die mit ihm kommunizieren, nicht sehr nützlich. Auf der anderen Seite können wir eigentlich keine Programme ausführen, ohne dass ein Kernel Anfragen und Informationen entgegennimmt und sie in die Systemhardware übersetzt. Der Kernel ermöglicht es uns, einen Computer zu benutzen, aber er ist nur ein Teil eines funktionierenden Betriebssystems. Das Prinzip eines Linux-Kernels kann in einem Dreischichtenmodell dargestellt werden. Die unterste Schicht besteht aus der Hardware, dem Arbeitsspeicher, der CPU, dem Speicher, der Netzwerkkarte usw. Der Kernel kommuniziert mit dieser Hardware und präsentiert eine Reihe von System- oder Programmaufrufen, die im sogenannten Benutzeradressraum laufen. Der Benutzeradressraum ist ein getrennter Bereich, in dem die auf dem System ausgeführte Software arbeitet. Dieser Bereich ist in erster Linie dafür da, den Kernel vor fehlerhafter oder manipulierter Software zu schützen, die sonst auch Hardware beeinflussen könnte. Stellen Sie sich vor, Sie haben eine Datei mit einem Texteditor erstellt und möchten diese speichern. Wenn Sie auf Speichern klicken, übergibt der Benutzeradressraum diese Anfrage an den Kernel. Der Kernel und nicht das Programm übermittelt danach diese Informationen an das Speichermedium und meldet zurück, dass die Operation erfolgreich war. Moderne Linux-Kernel sind in der Lage, mit einer Vielzahl von Computerhardware zu kommunizieren und können eine ständig wachsende Anzahl nützlicher Funktionen für Programme bereitstellen. Der Linux-Kernel kann auf Kleinstgeräten wie Minicomputern für den Hobbygebrauch laufen sowie auf Supercomputern und die Geheimnisse des Universums auf Desktop, Laptop und Mobilgeräten lösen. Sogar in der Automobiltechnologie wird Linux eingesetzt. Normalerweise verwenden diese Anwendungen einen angepassten Kernel, der leicht modifiziert wurde, um auf verschiedene Arten von Prozessoren zu laufen oder bei dem die Unterstützung für unnötige Hardware entfernt wurde. Aber sie sind immer noch Linux-Kernel. Der Kernel ist zwar die dominante Technik im Hintergrund, aber glücklicherweise müssen wir uns normalerweise keine Gedanken darüber machen, wie er funktioniert. Für die meisten Benutzer ist der Kernel einfach nur vorhanden und kümmert sich um das, was getan werden muss. Allerdings gibt es auch einige Linux-Benutzer, die direkt mit dem Kernel interagieren, dies sind Hardware-Designer und Programmierer, aber unter Umständen auch Systemadministratoren. Diese Personengruppe muss eventuell den Quellcode des Kernels bearbeiten, um neue Funktionen hinzuzufügen oder Änderungen an seiner Funktionsweise vorzunehmen. Dies ist eine Besonderheit bei Linux, denn im Gegensatz zu den meisten anderen Betriebssystem-Kernel ist der Linux-Kernel Open-Source. Jeder kann den Kernel herunterladen, bearbeiten und ausführen, der das Linux-System zum Laufen bringt. Wenn Sie möchten, können Sie den Quellcode des Kernels von der URL kernel.org herunterladen. Der Kernel macht Linux zu Linux. Also benötigt ein Linux-System auf jeden Fall den Linux-Kernel, die Software, die mit der Hardware interagiert. Aber um ein funktionierendes System zu haben, in dem wir unsere Aufgaben erledigen können, benötigen wir noch zusätzliche Komponenten, die wiederum mit dem Kernel interagieren. Wenn ein Linux-System startet oder bootet, durchläuft es einen Prozess, bei dem der Kernel geladen wird. Danach übernimmt eine Software, die Initialisierungssystem oder System Manager genannt wird. Diese Software wiederum startet Programme, die das System in einen Zustand versetzen, in dem wir mit ihm arbeiten können. Während dieser Initialisierungsphase werden Dienste gestartet wie Netzwerke oder Speicher und manchmal auch zusätzliche Arbeitsumgebungen. Die meisten Benutzer müssen sich um diese Prozesse nicht kümmern, aber Systemadministratoren und Bastler, die gerne an Knöpfen und Reglern drehen, können tiefer eintauchen. Selbst wenn Sie vorhaben, ein Linux-System zu verwenden, ohne sich um all diese komplizierten Dinge im Hintergrund zu kümmern, ist es hilfreich, ein wenig über den Linux-Kernel und seine Rolle zu wissen. Und wenn Sie planen, in die technischen Details einzusteigen und selbst Änderungen vorzunehmen, ist Linux eins der wenigen Betriebssysteme, die das ermöglichen. Im nächsten Video steigen wir in die Grundlagen ein und beschäftigen uns mit der Benutzeroberfläche.

Inhalt