Linux Kernel

Wechseln zu: Navigation, Suche

Der Linux Kernel ist der Kern eines jeden Linux-Betriebssystems. Die Entwicklung des Linux-Kernels wurde 1991 vom Finnen Linus Torvalds begonnen und wird heute unter seiner Leitung von einer weltweiten Entwicklergemeinde weitergeführt.
Der Linux Kernel ist auch der eigentliche Träger des Namens Linux, nichtsdestotrotz wird im allgemeinen oft auch von Linux gesprochen, wenn ein darauf basierendes Betriebssystem gemeint ist, oder es werden alle Betriebssysteme die auf Linux basieren als Linux bezeichnet.
Für letzteres hat sich der Name GNU/Linux eingebürgert, da ein Betriebssystem nie nur aus einem Kernel besteht, sondern auch aus vielen wichtigen Anwendungen drumherum. In diesem Sinne ist openSUSE also eine Linux-Distribution, aber nicht Linux.
Getestet mit openSUSE Empfohlene Artikel Verwandte Artikel
Icon-checked.png

Icon-manual.png Icon-help.png
kernel

Tux.png

System Kern eines Betriebssystems

Download für openSUSE:


Hersteller: Linus Torvalds u.v.m.

Lizenz: GPL
Webseite: Kernel Projektseite


Funktion

Der Linux-Kernel ist ein modularer, monolithischer Betriebssystemkern und stellt der darauf aufsetzenden Software eine Schnittstelle auf die Hardware zur Verfügung, außerdem ist er für Speicherverwaltung, Prozessverwaltung, Multitasking, Lastverteilung, Sicherheitserzwingung und Eingabe/Ausgabe-Operationen zuständig.

Im Gegensatz zu einem rein monolithischen Kernel kann der Linux-Kernel fast alle seine Aufgaben auch in dynamisch hinzu ladbare Module auslagern, was ihm eine ungemeine Flexibilität verleiht. Der Kernel und die meisten Module laufen dabei im privilegierten Modus, nur wenige Module laufen im eingeschränkten Benutzermodus.
Da fast alle Treiber auch als Module kompiliert werden können, lässt sich ein recht schlankes Kernel-Abbild erreichen, welches die ansonsten noch benötigten Module nach Bedarf hinzuladen kann.

Vanilla-Kernel

Als Vanilla-Kernel (von umgangssprachlich Englisch vanilla für Standard, ohne Extras) wird der Referenzkernel bezeichnet, der über kernel.org und dessen Spiegelserver bereitgestellt wird.

Distributions-Kernel

Viele Distributionen setzen angepasste Kernel ein, die oft schon Funktionen enthalten, die im Vanilla-Kernel (noch) nicht vorhanden sind. So ist auch der Linux-Kernel von openSUSE stark gepatcht und enthält so bspw. Module für AppArmor.

Verbesserungen ab openSUSE 12.3

Diese Version bringt den Kernel 3.7 mit. Das schließt folgende Verbesserungen ein:

  • Alle Dateisysteme profitieren von Verbesserungen im RAID-Subsystem, wie schnellerer RAID-Konfiguration, RAID 10-Unterstützung im Devicemapper und Discard (Trim) für SSDs. Dank einer Überarbeitung der Kernel-Dateisystemschnittstelle konnte ein Dämon entfernt werden, der das Subsystem bislang alle 5 Sekunden aufgeweckt hat. Die größeren Verbesserungen des Dateisystems beinhalten:
    • In den Metadaten lassen sich kleine Dateien speichern (was Zugriffe beschleunigt und weniger Speicherplatz verschwendet), außerdem ist es in EXT4 nun möglich, die Integrität der Metadaten mit Hilfe von Prüfsummen zu schützen. Die Quota-Unterstützung wurde verbessert, das Überschreiben von Dateien und die Verkleinerung von Volumes (auch wenn sie größer als 16TB sind) wurden beschleunigt.
    • Btrfs wurde erweitert um I/O-Fehlerstatistiken, Subvolume-Quotas, Quota-Gruppen, Snapshot-Diffs, beschleunigtes Fsync, schnelleres Lesen und Schreiben von VM-Abbildern und die Fähigkeit, Copy-on-Write für einzelne Dateien zu deaktivieren.
    • XFS bringt erhöhte Geschwindigkeit, geringere Latenz und verbesserte Unterstützung für größere Verzeichnisblockgrößen sowie verschiedene kleinere Verbesserungen.
  • Userspace Probes zur Leistungsprofilierung mit Werkzeugen wie Systemtap oder Perf und ein neues Perf Trace, ähnlich Strace.
  • Viele Verbesserungen betreffen die Netzwerkadministration. Die Leistung des TCP-Protokolls wurde erhöht durch Unterstützung des "TCP Fast Open" auch für Server, TCP Early Retransmit (RFC 5827), Integration von "TCP small queues" und einem neuen Warteschlangen-Management-Algorithmus gegen Bufferbloat. Andere Low-Level-Protokollverbesserungen sind Unterstützung für die Überprüfung und Wiederherstellung von TCP-Verbindungen sowie ein neues Tunnelungsprotokoll, mit dem Layer-2-Ethernetpakete über UDP transportiert werden können. Neu ist die Unterstützung des experimentellen SMBv2-Protokolls, der stabilen NFS 4.1 und paralleles NFS, sowie die Möglichkeit zum sicheren Swappen über NFS/NBD.
  • Der Kernel erlaubt nun das von Android stammende opportunistische Suspend ('wakelocks') und unterstützt Suspend gleichzeitig in RAM und auf Patte. Das vermeidet Datenverluste durch einen leeren Akku im reinen Suspend-to-RAM.
  • Neue Features im Gebiet Sicherheit: Unterstützung signierter Kernelmodule, Intels SMAP (Schutz von Programmspeicherbereichen vor Änderungen durch den Kernel), VFIO für sicheren Zugriff von Gasttreibern auf Hardware-Treiber des Hosts und ein Sandkastenmechanismus zum Filtern von Systemaufrufen. Außerdem kann dem Kernel nun verboten werden, in bestimmten Verzeichnissen symbolischen oder harten Verknüpfungen zu folgen, wenn sie in der Verzeichnishierachie weiter nach oben zeigen, was Angreifern eine verbreitete Methode nimmt, sich in einem System erweiterte Rechte zu verschaffen. Schließlich hat der Kernel gelernt, vorher ungenutzte Quellen, wie MAC-Adressen, DMI-Daten und USB-Hardware-Informationen zum Sammeln von Entropie zu verwenden.
  • Andere Verbesserungen beinhalten die Fähigkeit, SCSI über Firewire und USB auszuführen, einen aggressiven SATA-Schlafmodus für SSD und Festplattenmotor sowie die Unterstützung für den PCIe "d3cold" Energiestatus.
  • Wie immer gab es Verbesserungen bei der Hardware-Unterstützung, Leistung und Stabilität bei den Grafiktreibern, Speichermedien, Webcam, Audio, WLAN und anderen Systemen. Änderungen beinhalten Code für Intels künftigen Haswell-Grafikkern. Hauptänderungen resultieren in einem schnelleren und stabileren Nouveau-Treiber mit Unterstützung für neue NVidia-Grafikkarten, verbesserte NFC-Unterstützung und spezielle Treiber für eine große Anzahl von Laptops. (Besten Dank an kernelnewbies.org und den fantastischen heise open Kernel-Logs).

Versionsnummern-Schema

Das Versionsnummern Schema besteht zur Zeit aus vier Teilen. Die erste Zahl wird nur bei grundlegenden Änderungen in der Systemarchitektur angehoben. Die zweite Zahl gibt die jeweilige Hauptausgabe (Major Release) an, wobei bisher die stabilen Kernel an dieser Stelle immer durch eine gerade Zahl gekennzeichnet wurden, die Entwicklerkernel trugen eine ungerade Zahl.

Die Benennung des Kernels wurde inzwischen auf Version 3.0 gehoben und wird nun laufend in der Serie 3.0.x fortgeführt. Die dritte Zahl gibt die Unterausgabe an (Minor-Release), sie kennzeichnet die eigentliche Version und wird erhöht, wenn neue Funktionen hinzugefügt werden. Seit Kernel 2.6.11 wurde eine vierte Ziffer eingeführt welche Verwendung findet, wenn in einem Kernel wie 3.0.1 schwere Fehler gefunden um diese dann bspw. in einer Version 3.0.1.1 zu beheben.


Externe Links