Was ist der Linux-Kernel?

Ein Bild eines Programmierers, der von Codezeilen umgeben ist

Autoren

Mesh Flinders

Staff Writer

IBM Think

Ian Smalley

Staff Editor

IBM Think

Was ist der Linux-Kernel?

Der Linux®-Kernel ist ein kostenloser Open-Source-Kernel, der für viele Computersysteme von entscheidender Bedeutung ist. Im Linux-Betriebssystem (OS) bildet der Linux-Kernel eine kritische Schnittstelle zwischen den Hardware- und Software-Schichten, sodass das Betriebssystem viele verschiedene Komponenten auf einmal verwalten kann. 

Kerne sind Computerprogramme, die den Kern eines Betriebssystems (OS) bilden und einem Benutzer die vollständige Kontrolle über die Hardware- und Software-Komponenten geben, aus denen das System besteht. Kernel helfen, Konflikte zwischen wichtigen Prozessen zu vermeiden, die für das ordnungsgemäße Funktionieren des Systems unerlässlich sind. Der Kernel-Code wird im Arbeitsspeicher des Computers aufbewahrt und ermöglicht alle Interaktionen zwischen Software und Hardware; z. B. Eingabe/Ausgabe (E/A), CPU- und Cache-Auslastung, Treiber, Dateisysteme und Netzwerk-Sockets.

Der Linux-Kernel wurde 1991 von Linus Torvalds als kostenlose Alternative zu Unix entwickelt, einem der ersten Betriebssysteme, das Benutzern die direkte Interaktion mit Computern ermöglichte. In den darauffolgenden Jahren sind der Linux-Kernel und nachfolgende Kernel-Versionen und Kernel-Releases für Linux-Distributionen kritisch geworden. Heute werden sie von einigen der größten Technologie-, Software- und Computerunternehmen der Welt genutzt.  

Linux-Kernel-Distributionen

Alle 9–10 Wochen wird eine neue Version des Linux-Kernels veröffentlicht. Diese als „stabile Kernel“ bezeichneten Versionen werden von Linux-Kernel-Entwicklern und Betreuern von Linux-Repositories gepflegt und sind auf kernel.org und GitHub zu finden.

Einige Anbieter, wie Debian und Red Hat, ziehen es jedoch vor, einen angepassten Quellbaum zu pflegen – eine Sammlung des gesamten Linux-Kernel-Quellcodes für ihre eigenen Projekte. Dieser Ansatz hat entscheidende Auswirkungen auf die Verwendung des Linux-Kernels in vielen modernen Anwendungen wie KIEdge Computing und Internet der Dinge (IoT)

Red Hat Enterprise Linux ist beispielsweise eine stabile, hochleistungsfähige Linux-Plattform, die über maßgeschneiderte Sicherheits- und Verwaltungsfunktionen verfügt und auf dem angepassten Linux-Quellbaum von Red Hat basiert. Debian nutzt seinen Quellbaum, um Ubuntu zu erhalten, einen Open-Source-Code, der für viele IoT-Architekturen von grundlegender Bedeutung ist. 

Linux-Kernel vs. Linux-Betriebssystem

Ein Kernel ist ein Computerprogramm, das als das schlagende Herz des Betriebssystems fungiert, das System, das es Benutzern ermöglicht, mit der Hardware und Software des Computers zu interagieren. Im Falle des Linux-Betriebssystems ist der Linux-Kernel der Code, der die Kernkomponente des Betriebssystems bildet und es ihm ermöglicht, seine Funktionen auszuführen.

Das Linux-Betriebssystem besteht neben dem Linux-Kernel aus verschiedenen Komponenten, wie z. B. Systembibliotheken, User-Space-Utilities und Anwendungen. Alle diese Komponenten sind jedoch darauf angewiesen, dass der Linux-Kernel mit dem Betriebssystem kommuniziert, damit sie Befehle, wie z. B. Eingabe/Ausgabe (I/O), empfangen und Benutzeranfragen ausführen können. Der Linux-Kernel ist für seine Flexibilität bekannt und kann je nach Benutzerbedarf oder an die Anforderungen eines bestimmten Programms geändert werden.

Lebenszyklus des Linux-Kernels

Jede Linux-Kernel-Version hat einen Lebenszyklus, in dem sie getestet, für die Öffentlichkeit freigegeben und dann schrittweise eingestellt wird. Der Lebenszyklus des Linux-Kernels ist in fünf Phasen unterteilt: Prepatch, Mainline, Stable Review, Long Term Support (LTS) und End-of-Life (EOL). 

  • Prepatch: Linux-Entwickler experimentieren mit neuen Funktionen im Kernel-Quellbaum.
  • Mainline: Die Änderungen werden durch strenge Tests und Anpassungen stabilisiert.
  • Reviews: Der Kernel wird vor seiner Veröffentlichung zusätzlichen Tests unterzogen, um entscheidendere Probleme zu beheben, die in der Mainline-Phase identifiziert wurden. 
  • Long Term Support (LTS): Nur einige Kernel werden als LTS-Kernel identifiziert und für einen längeren Zeitraum als andere Kernel, in der Regel zwei Jahre, gewartet. 
  • End-of-Life (EOL): Kerne, die nicht für LTS ausgewählt wurden, haben ihre Unterstützung beendet, wenn neuere Kerne veröffentlicht werden.  

 

Die neuesten Tech-News – von Experten bestätigt

Bleiben Sie mit dem Think-Newsletter über die wichtigsten – und faszinierendsten – Branchentrends in den Bereichen KI, Automatisierung, Daten und mehr auf dem Laufenden. Weitere Informationen finden Sie in der IBM Datenschutzerklärung.

Vielen Dank! Sie haben sich angemeldet.

Ihr Abonnement wird auf Englisch geliefert. In jedem Newsletter finden Sie einen Abmeldelink. Hier können Sie Ihre Abonnements verwalten oder sich abmelden. Weitere Informationen finden Sie in unserer IBM Datenschutzerklärung.

Vorteile des Linux-Kernels

Linux ist heute eines der am weitesten verbreiteten Open-Source-Betriebssysteme der Welt. Dies ist vor allem auf die Flexibilität und Effektivität des Linux-Kernels zurückzuführen. Es bietet viele der Verwaltungs- und Kontrollfunktionen, die das Linux-Betriebssystem zu einer so leistungsstarken Plattform machen, einschließlich derjenigen, die den Prozessor (das aktive Gehirn eines Computersystems) und seine Fähigkeit zur Vernetzung (seine Fähigkeit, sich mit anderen Geräten zu verbinden und Ressourcen und Informationen zu teilen) antreiben. Hier sind einige der größten Vorteile des Linux-Kernels für Unternehmen: 

  • Abstraktion: In der Informatik bedeutet der Begriff „Abstraktion“ einfach das Weglassen von nicht kritischen Informationen, um eine nahtlosere Interaktion zwischen Geräten und Programmen zu ermöglichen. Der Linux-Kernel kann die zugrunde liegende Hardware abstrahieren, indem er unwichtige Details vor dem Betriebssystem verbirgt und es Systemen und Software ermöglicht, effizienter zu funktionieren. 
  • Anpassung: Der Linux-Kernel kann an die spezifischen Bedürfnisse verschiedener Benutzer oder verschiedener Arten von Betriebssystemen angepasst werden. Der Anpassungsprozess erfordert in der Regel die Änderung des Quellcodes des Kernels und die Kompilierung eines benutzerdefinierten Kernel-Images, bei dem es sich einfach um einen Kernel handelt, der für einen bestimmten Zweck angepasst wurde. Anschließend können spezifische Kernel-Funktionen und Kernel-Module – Code-Teile, die in den Kernel geladen oder entladen werden, um bestimmte Funktionen hinzuzufügen oder zu entfernen – ausgewählt werden, um spezifischen Computeranforderungen gerecht zu werden. Es gibt beliebte Kernel-Module für Aufgaben und Geräte wie High-Performance-Computing (HPC), Unternehmensanwendungen und Grafikprozessoren (GPUs).  
  • Containerisierung: Die Containerisierung, die Verpackung von Softwarecode mit nur den Betriebssystembibliotheken und Abhängigkeiten, die für die Ausführung in jeder Computerumgebung erforderlich sind, ist für viele moderne cloudnative Anwendungen von entscheidender Bedeutung. Der Linux-Kernel ist unerlässlich für die Containerisierung und angrenzende Technologien wie Docker und Kubernetes, die Container erst ermöglichen. Docker und Kubernetes sind die beiden beliebtesten Containerisierungstools auf dem Markt. 94 % der befragten Unternehmen verwenden entweder eines oder beide1. Docker wird verwendet, um Container zu erstellen und auszuführen, und Kubernetes ist eine Open-Source-Container-Orchestrierungsplattform, die die Verwaltung und Skalierung von containerisierten Anwendungen ermöglicht. 
  • Virtualisierung: Der Linux-Kernel kann virtuelle Maschinen (VMs) auf einem einzelnen physischen Computer mit Hilfe der Funktion „Kernel-basierte virtuelle Maschine (KVM)“ ausführen. VMs sind wichtig, weil sie es ermöglichen, die Ressourcen einer einzelnen physischen Maschine, wie Arbeitsspeicher, CPU, Netzwerkschnittstelle und Speicher, von verschiedenen Betriebssystemen auf einem einzigen Gerät zu nutzen. Dieser Prozess macht das Linux-System im Wesentlichen zu einem Hypervisor, einem Tool zur Verwaltung und Überwachung von VMs, was ihm wichtige Funktionen für die Verwaltung von VMs bietet. 
AI Academy

KI-Bereitschaft mit Hybrid Cloud

Das Programm, das von führenden IBM Experten geleitet wird, soll Führungskräften dabei helfen, das nötige Wissen zu erwerben, um die Prioritäten für KI-Investitionen zu setzen, die zu mehr Wachstum führen.

Wie funktioniert der Linux-Kernel?

Der Linux-Kernel besteht aus sechs verschiedenen Schichten oder Subsystemen, die seine Kernfunktionen ermöglichen: 

  • Implementierung von Systemaufrufen (SCI)
  • Prozessmanagement
  • Speicherverwaltung
  • Virtueller Arbeitsspeicher
  • Netzwerk-Stack
  • Gerätetreiber

Hier ist ein genauerer Blick auf jedes einzelne und seine Funktionsweise.

SCI

Die SCI-Schicht verfügt über die Funktionalität, die es dem Kernel ermöglicht, Systemaufrufe vom Benutzerbereich in den Kernel auszuführen. Dies ist eine entscheidende Funktion des Linux-Kernels, da im Benutzerbereich Anwendungssoftware und Treiber ihre Workloads ausführen, während der Kernel-Bereich ausschließlich für die Ausführung kritischer Betriebssystemfunktionen vorgesehen ist. Die SCI-Schicht bildet eine Brücke zwischen den beiden Räumen. Wenn ein Systemanruf vom Benutzerbereich aus initiiert wird, z. B. eine Anfrage zum Aktualisieren eines E-Mail-Posteingangs oder zum Öffnen einer mobilen Anwendung, löst der Systemaufruf einen Wechsel zur Kernelschicht aus, sodass die Anfrage an das Betriebssystem übertragen werden kann.

Prozessmanagement

Die Prozessmanagementschicht ermöglicht es dem Linux-Kernel, die Prozesse auszuführen, die es Benutzern ermöglichen, mit dem Computer zu interagieren. Wenn Linux zum ersten Mal gestartet wird, bringt Init (kurz für „Initialisierung“) beispielsweise das System in einen nutzbaren Zustand, indem es Startskripte ausführt und Runlevel verwaltet. Jeder Prozess stellt eine individuelle Virtualisierung des Prozessors dar – zum Beispiel Thread-Code, Daten, Stack und CPU-Register.  

Speicherverwaltung

Computer verwalten den virtuellen Speicher mithilfe so genannter „Seiten“. Seiten sind die kleinste Einheit, in die Daten in einem Betriebssystem, das auf virtuellen Speicher angewiesen ist, unterteilt werden können. Die Speicherverwaltungsebene des Linux-Kernels ermöglicht es dem Betriebssystem – und damit dem Benutzer – den verfügbaren Speicher eines Computers zu verwalten. Virtueller Speicher ist ausschlaggebend für die Funktionalität aller Programme und Anwendungen.

Virtuelles Dateisystem (VFS)

Das virtuelle Dateisystem (VFS) des Linux-Kernels bietet eine gemeinsame Schnittstelle für Dateisysteme. Das VFS fungiert als Switching-Schicht zwischen der SCI und den vom Kernel unterstützten Dateisystemen und ermöglicht viele entscheidende Funktionen (z. B. Öffnen, Schließen, Lesen und Schreiben). 

Dateisystemabstraktionen – mit anderen Worten, die Art und Weise, wie Dateien, Verzeichnisse und Dateisysteme für Benutzer aussehen – sind eine weitere wichtige Komponente der VFS-Schicht und helfen dabei, die Komplexität eines Computersystems auf eine repräsentative Weise darzustellen, die für den Benutzer leicht verständlich ist.

Der Netzwerk-Stack

Jeder Computer in einem Netzwerk, das auch als „Knoten“ bezeichnet wird, muss Netzwerkprotokollen folgen. Dabei handelt es sich um strenge Regeln für das Teilen und Empfangen von Daten. Diese Protokolle sind entscheidend, damit inkompatible Geräte dasselbe Netzwerk nutzen können – z. B. ein Android-Telefon und ein Mac-Computer. 

Um diese Art der Kommunikation zu ermöglichen, sind Netzwerkprotokolle auf Gateways angewiesen. Dabei handelt es sich um Hardwaregeräte (z. B. Router), die Kommunikation zwischen zwei verschiedenen Netzwerken ermöglichen. Der Netzwerk-Stack im Linux-Kernel verwendet viele gängige Gateway-Geräte – z. B. Ratenkonverter, Protokollübersetzer und andere –, um die Internetkommunikation zwischen inkompatiblen Geräten zu ermöglichen.

Gerätetreiber

Gerätetreiber bieten einem Betriebssystem eine Softwareschnittstelle, die es einem bestimmten Gerät ermöglicht, zu funktionieren, z. B. einer externen Tastatur oder einem Laufwerk, einer Maus oder einem Drucker. Der Quellcode des Linux-Kernels besteht hauptsächlich aus Code, der in Gerätetreibern für ein bestimmtes Gerät enthalten ist. 

Der Linux-Quellbaum, ein Verzeichnis mit dem gesamten Quellcode für den Linux-Kernel und den Treibern, ist in die verschiedenen unterstützten Geräte und ihre Verbindungen, wie Bluetooth oder serielle Schnittstelle, unterteilt. Der Treiber erkennt Befehle, die an ein einzelnes Gerät oder eine Geräteklasse gesendet werden, und erstellt E/A-Anforderungen, die diese Befehle enthalten, sodass sich das Gerät so verhält, wie es vom Benutzer beabsichtigt wurde. 

Anwendungsfall für den Linux-Kernel

Unternehmen aus den unterschiedlichsten Branchen verlassen sich auf den Linux-Kernel und die verschiedenen Funktionen, die sie bereitstellen, um ihre Mitarbeiter innovativ zu halten und die Programme, Anwendungen und Services bereitzustellen, auf die sich ihre Kunden verlassen. Hier sind einige der häufigsten Anwendungsfälle in Unternehmen für den Linux-Kernel.

Computer-Networking

Der Linux-Kernel ermöglicht die sichere Verbindung von Computern und Computergeräten über ein WLAN, Ethernet oder einen anderen Verbindungstyp, unabhängig von der Gerätekompatibilität. Diese Funktionalität ermöglicht die gemeinsame Nutzung von kritischem Wissen und Ressourcen, wie z. B. die Nutzung von Intranets und die schnelle, effiziente Bereitstellung von Software as a Service (SaaS)-Produkten.

Der Linux-Kernel ist mit robusten Sicherheitsfunktionen ausgestattet, die dazu beitragen, Benutzer und Betriebssysteme vor Cyberbedrohungen zu schützen, die Computer, Programme, Anwendungen und die Netzwerke, auf denen sie ausgeführt werden, schädigen können. Zu diesen Bedrohungen gehören viele verschiedene Arten von Malware wie Ransomware, Rootkits, Würmer und mehr. Die Bedrohungen, die auf die Sicherheitslücken im Linux-Kernel abzielen, werden durch häufige Patches wie Fixes behoben, die Systeme und die darauf laufenden Programme sichern. 

Ressourcenoptimierung

Da 89 % der Unternehmen Initiativen zur digitalen Transformation ergreifen2, ist die Optimierung der Ressourcen für die digitale Transformation zu einem wesentlichen Bestandteil der meisten Strategien geworden. 

Der Linux-Kernel unterstützt Unternehmen dabei, die Anforderungen ihrer wertvollsten Rechenressourcen – wie Server, Datenbanken und modernste Anwendungssoftware – auszugleichen, sodass sie sich darauf verlassen können, dass ihre Systeme und Netzwerke durch einen Prozess, der als Kernel-Tuning bezeichnet wird, die bestmögliche Leistung ihrer Systeme und Netzwerke erbringen. 

Kernel-Tuning ist eine subtile Anpassung der Einstellungen des Linux-Kernels, um die Leistung in bestimmten Subsystemen des Linux-Kernels wie Netzwerk, Speicher, Prozessplanung und Dateisysteme zu verbessern. Im Falle von Dateisystemen erfordern beispielsweise viele datenintensive Anwendungen einschließlich Videospiele, Finanzhandels-Apps und Social-Media-Websites eine Abstimmung der Dateisystemparameter, um Spitzenleistungen zu erzielen. Das proc-Dateisystem, ein VFS in Linux, stellt eine Schnittstelle zwischen internen Datenstrukturen im Kernel her, um Daten über das System abzurufen, damit die Kernel-Parameter zur Optimierung der Anwendung angepasst werden können.

Gerätemanagement

Die erfolgreichsten Unternehmen von heute müssen ihre Mitarbeiter mit modernster Technologie wie Laptops und mobilen Geräten ausstatten, um erfolgreich zu sein. Der Linux-Kernel ermöglicht Programme und Netzwerke, die Tausende von Mitarbeitern an verschiedenen Standorten und mit verschiedenen Gerätetypen unterstützen, nahtlos zusammenzuarbeiten. Der Kernel ermöglicht es Hardwaregeräten, über spezifische Gerätemodule zu interagieren, die in den Kernel geladen werden können, damit sie vom Betriebssystem verwaltet werden können.

Ein gängiger Prozess zur Verwaltung von Linux-Geräten ist der Interrupt. Interrupt hilft dabei, Rechenressourcen zu sparen, indem es dem Linux-Kernel ermöglicht, die Kommunikation zwischen einem Gerät und einer Anwendung zu beenden, wenn dies für einen bestimmten Vorgang nicht erforderlich ist. Ein anderes ist udevein Linux-Geräteverwaltungstool, das das Hinzufügen und Entfernen von Geräten zu einem Betriebssystem verwaltet und steuert, wie jedes Gerät in einem Verzeichnis angezeigt wird.

Cloud Computing

Cloud Computing, die On-Demand-Bereitstellung von Computerressourcen über das Internet, ist für viele moderne Unternehmen zu einem unverzichtbaren Tool geworden, das Innovationen vorantreibt und dazu beiträgt, Kunden schnell und skalierbar Lösungen zu bieten. 

Der Linux-Kernel ermöglicht Cloud Computing auf entscheidende Weise und ist zu einem wesentlichen Komponente aller größten Cloud-Provider der Welt geworden, darunter Amazon (AWS), Microsoft Azure, Oracle und Google Cloud.

Die Skalierbarkeit des Kernels ermöglicht es, riesige Computersysteme wie Supercomputer und Rechenzentren zu unterstützen, ohne die Rechenressourcen wesentlich zu erhöhen – eine Funktion, die für Cloud-Architekturen unerlässlich ist. Der Linux-Kernel eignet sich auch ideal für Cloud-Workloads, da er sehr stabil ist und relativ geringe Ausfallzeit aufweist. Schließlich ist der Linux-Kernel sehr vielseitig und kann auf vielen Arten von Hardware laufen – eine wichtige Funktion in den virtualisierten Umgebungen, die für die moderne Cloud von zentraler Bedeutung sind.

Fußnoten

1.     Top five containerization technologies in 2024, (Link befindet sich außerhalb von ibm.com), 6Sense, 2024

2.     The Value of Digital Transformation (Link befindet sich außerhalb von ibm.com), Harvard Business Review, 31. Juli 2023

Weiterführende Lösungen
IBM Cloud Infrastructure Center 

IBM Cloud Infrastructure Center ist eine mit OpenStack kompatible Softwareplattform für die Verwaltung der Infrastruktur von Private Clouds auf IBM zSystems und IBM LinuxONE.

Cloud Infrastructure Center erkunden
IT-Infrastrukturlösungen

Entdecken Sie Server, Speicher und Software für die Hybrid-Cloud- und KI-Strategie Ihres Unternehmens.

IT-Infrastrukturlösungen entdecken
Lösungen für Cloud-Infrastrukturen

Finden Sie die richtige Cloud-Infrastrukturlösung für Ihre Geschäftsanforderungen und skalieren Sie Ressourcen nach Bedarf.

Cloud-Lösungen
Machen Sie den nächsten Schritt

Transformieren Sie Ihre Unternehmensinfrastruktur mit der Hybrid Cloud und KI-fähigen Lösungen von IBM. Entdecken Sie Server, Speicher und Software, die für die Sicherung, Skalierung und Modernisierung Ihres Unternehmens entwickelt wurden, oder greifen Sie auf Erkenntnisse von Experten zu, um Ihre generative KI-Strategie zu verbessern.

IT-Infrastrukturlösungen entdecken E-Book herunterladen