SelfLinux Überblick über Linux Der Linux-Kernel Abschnitt 1 | SelfLinux-0.13.0

| Der Linux-Kernel | Autor Formatierung GFDL

#### 1 Der Kernel

Der Kernel verwaltet alle Betriebsmittel eines Computers. Er ist der erste Schritt von der Hardware zum Benutzer. Nach innen, zur Hardware hin, ist der Kernel ein Organisator. Er teilt den unterschiedlichen Geräten mit, was sie wann zu tun haben und sorgt für möglichst reibungslose, effiziente Abläufe. Nach außen, zum Benutzer hin, ist er ein Dienstleister:
Er bietet Funktionen an, die von Programmen verwendet werden können. Programme verlangen Prozessorzeit, Speicherplatz, möchten von Geräten lesen oder auf sie schreiben, sie wollen andere Programme starten oder sich selbst beenden. Für all diese Aktionen müssen sie eine Anfrage an den Kernel richten, die von diesem an die Hardware weitergegeben oder auch verweigert werden kann.

Der Kernel selbst ist ein Programm. Er liegt im Hauptspeicher, erhält dann und wann Prozessorzeit und kontrolliert in diesen Intervallen, welches Programm außer ihm etwas tun darf. Mit dem Systemstart muss der Kernel also in den Speicher geladen werden. Dies geschieht üblicherweise mittels eines Bootloaders wie Lilo oder Grub von der lokalen Festplatte. Es gibt jedoch auch andere Möglichkeiten. Booten von Diskette oder CD ist ebenso möglich wie das Booten über ein Netzwerk.

Um mit der Hardware kommunizieren zu können, benötigt ein Kernel spezielle Treiber. Des weiteren bestehen meist sehr konkrete Anforderungen an ein Rechnersystem - und diese Anforderungen können sich von System zu System stark unterscheiden. Benötigte Treiber und die konkreten Anforderungen an das System verlangen nach ganz unterschiedlichen Kernelfunktionen. Daher ist Kernel nicht gleich Kernel. Es wäre unsinnig, einen einzigen großen Kernel zu erstellen, der gewissermaßen alles kann. Ein enormer Speicherbedarf wäre die Folge. Es ist also eine Auswahl der Treiber und Funktionen notwendig.

Diese Auswahl geschieht unter Linux auf zweierlei Weise. Zum einen kann bereits vor dem Kompilieren des Kernels angegeben werden, welche Komponenten überhaupt Bestandteil des Kernels werden sollen. Zweitens bietet Linux die Möglichkeit, einzelne Komponenten als Module zu kompilieren. Module können dann zur Laufzeit geladen und wieder aus dem Speicher entfernt werden.