Linux Kernel

Ressourcen zum Erlernen des Linux-Kernels

Ressourcen zum Erlernen des Linux-Kernels

Der Linux-Kernel ist komplex, groß und funktionsreich. Es zu lernen ist keine leichte Aufgabe, nicht nur wegen seiner Komplexität und Ungeheuerlichkeit, sondern weil es ständig weiterentwickelt wird. Das macht Linux zu einem beweglichen Ziel.

Darüber hinaus gibt es einen wesentlichen Unterschied zwischen Linux und anderen Betriebssystemen. Linux macht die Definition des Betriebssystems falsch. Grundlegende Aufgaben, für die ein Kernel tatsächlich verantwortlich ist, umfassen Dinge wie Planung, Speicherverwaltung usw. Treiber und Bibliotheken sind dank der Schnittstelle (ABI), die der Kernel bereitstellt, eigentlich nur mit dem Kernel verbunden. Was zu dem populären Satz geführt hat: „Es ist nicht Linux, es ist GNU/Linux“. GNU ist der Rest des Stapels, Bibliotheken usw. und Linux ist der Kernel.

Aber falsch informierte Leute wandern oft in die Interna des Linux-Kernels, obwohl ihre Absicht am Anfang etwas ganz anderes war. Hier sind einige der Ressourcen, die Ihnen helfen, sich abstrakt über Betriebssysteme und die Besonderheiten der Linux-Kernel zu informieren.

1. Betriebssystemkonzepte

Dieses Buch geht tief in die Idee ein, was ein Betriebssystem sein sollte, in abstrakter Form. Gleichzeitig hat es einen soliden Halt in den praktischen Gegebenheiten der realen Welt. Die begleitende Website bietet eine Linux-VM, mit der Sie einige der Herausforderungen, die das Buch bietet, tatsächlich meistern können. So werden auch die abstrakten Ideen vom Leser meist in Linux umgesetzt.

Darüber hinaus gibt es ausführliche Abschnitte, in denen die Fallstudien für gängige Betriebssysteme durchgeführt werden und Sie den Unterschied zwischen Linux (was nur der Kernel ist) und vollwertigen Betriebssystemen wie Windows 7 erkennen.

Niveau: Mittelstufe

2. So funktioniert Linux

Herausgegeben von No Starch Press, ist dies eines der besten Bücher, um Ihnen zu zeigen… nun, wie Linux funktioniert. In diesem Buch wird alles behandelt, von der Verwaltung des Dateisystems und des Speichers durch den Kernel bis hin zur detaillierten Beschreibung von I/O, Netzwerken und Speicher.

Die Grenze, an der Linux endet und Ihr Ubuntu, Arch, CentOS usw. beginnt, wird ebenfalls deutlich gemacht. Wenn Sie Linux ausführen, haben Sie alle Voraussetzungen, um dieses Buch durchzuarbeiten.

Niveau: Anfänger

3. Die Linux-Kernel-Dokumentation

Bisher sind wir bei Büchern geblieben. Bücher veralten jedoch schnell und können uns nur bedingt helfen. Die Linux-Kernel-Dokumentation kann Sie auf Ihrer Reise zum Kern der Sache führen guide.

Es ist für jeden etwas dabei. Die Dokumentation ist sauber in Abschnitte für Benutzer, Anwendungsentwickler und Kernel-Entwickler unterteilt. Sie können einen praktischen Überblick darüber erhalten, wie Fehler entdeckt und gemeldet und Funktionsanfragen gestellt wurden. Natürlich dreht sich alles um den Linux-Kernel, so dass Sie auf dieser Website wahrscheinlich nicht von Ihrem Ziel abweichen dürfen.

Dies ist eine unverzichtbare Ressource, um auch auf dem Laufenden zu bleiben. Da in der Dokumentation die ersten Anzeichen von Patches und neuen Funktionen zu sehen sind.

Stufe: N/A

4. LFD 420 und LFD 440

Obwohl sie ziemlich teuer sind, gehören dies zu den am höchsten bewerteten Kursen der Linux Foundation. Meine Empfehlung hier stammt eher aus Anekdoten als aus persönlicher Erfahrung, aber die Leute haben enorm von diesen Kursen profitiert.

Der LFD 420-Kurs ist für Fortgeschrittene, während der nächste Kurs für viel fortgeschrittene Benutzer ist. Die Kurse werden von der Linux Foundation angeboten und vertiefen die Themen Kernelarchitektur, Funktionsweise, Sicherheit und vieles mehr.

Lobende Erwähnung: Design und Implementierung von FreeBSD

Es gibt viel, was Linux falsch macht, und den Kernel so zu lernen, als wäre er eine Entität der natürlichen Welt, die darauf wartet, untersucht zu werden, ist ein falscher Ansatz. Nicht umsonst wird Linux-Benutzern Fanatismus vorgeworfen. Um nicht in der Echokammer von Linux gefangen zu werden, würde Ihnen dieses Buch ungemein helfen.

Das Buch spricht nicht nur über das Betriebssystem FreeBSD, sondern auch über es ist Kernel. Ich habe mich aus mehreren Gründen für FreeBSD als Kontrast zu Linux entschieden. Erstens wird FreeBSD in der realen Welt ziemlich häufig verwendet. Es hat Unternehmen wie iXsystems, Netflix, Delphix und WhatsApp ermöglicht, ihre Server zu betreiben. Ungefähr 25 % des gesamten Internetverkehrs in den USA fließen über FreeBSD, allein dank der Popularität von Netflix. Es kann also für schweres Heben verwendet werden.

Zweitens ist FreeBSD richtiges UNIX. Mit einer klaren Unterscheidung zwischen Userland und Kernel und verschiedenen anderen intelligenten Designoptionen, die erfahrene Linux-Kernel-Entwickler schätzen und übernehmen können.

Niveau: Mittel bis Fortgeschritten

Fazit

Wenn Sie etwas so Großes wie den Linux-Kernel lernen, müssen Sie zuerst Ihre Ziele definieren. Dazu gehört vielleicht, zu verstehen, wie es funktioniert, wie man es debuggt, wie man Kernel-Module schreibt usw.

Sobald das Ziel klar definiert ist, wird es Ihnen schwer fallen, in unnötige Themen und hitzige Debatten einzudringen, für die die Linux-Community berüchtigt ist. Es ist in Ordnung, wenn sich das Ziel ändert, wenn Sie mehr über das System wissen. Es ist viel besser, sich selbst zu nativieren, als sich von Meinungen und Autorität abzulenken.

So ändern Sie die linke und rechte Maustaste auf einem Windows 10-PC
Es ist ganz normal, dass alle Computer-Maus-Geräte ergonomisch für Rechtshänder gestaltet sind. Es gibt aber auch Mausgeräte, die speziell für Linkshä...
Emulieren Sie Mausklicks, indem Sie den Mauszeiger mit der klicklosen Maus in Windows 10 bewegen
Die Verwendung einer Maus oder Tastatur in der falschen Haltung bei übermäßiger Nutzung kann zu vielen gesundheitlichen Problemen führen, einschließli...
Fügen Sie mit diesen kostenlosen Tools Mausgesten zu Windows 10 hinzu
In den letzten Jahren haben sich Computer und Betriebssysteme stark weiterentwickelt. Es gab eine Zeit, in der Benutzer Befehle verwenden mussten, um ...