Kernel

Der Linux-Kernel ist ein extrem wichtiger Teil der Software auf fast jedem Android-Gerät. Dieser Abschnitt beschreibt die Linux-Kernel-Entwicklung und die Release-Modelle (siehe unten), stabile und langfristig unterstützte (LTS) Kernel (einschließlich der Gründe, warum alle Android-Geräte stabile Releases verwenden sollten, anstatt Patches zu verwenden), Kernel-Konfiguration und -Härtung, Anforderungen an Schnittstellen und modulare Kernel (eingeführt in Android O), Kernel-Fehlersuche und Netzwerktests sowie SquashFS.

Linux-Kernel-Entwicklung

Der Linux-Kernel ist das größte gemeinschaftliche Softwareprojekt aller Zeiten. Im Jahr 2016 trugen über 4.000 verschiedene Entwickler aus über 450 verschiedenen Unternehmen zu dem Projekt bei und es gab 6 Versionen, die jeweils zwischen 12.000 und 16.000 verschiedene Änderungen enthielten. Ende 2016 umfasste der Linux-Kernel etwas mehr als 56.000 Dateien, bestehend aus 22 Millionen Zeilen Code, Build-Skripten und Dokumentation (Kernel-Version 4.9). (Vollständige Statistiken zur Linux-Entwicklung finden Sie unter https://kernelnewbies.org/DevelopmentStatistics.)

Während der Linux-Kernel Code für all die verschiedenen Chip-Architekturen und Hardware-Treiber enthält, die er unterstützt, läuft auf einem einzelnen System nur ein Bruchteil der Code-Basis. Ein durchschnittlicher Laptop verwendet etwa 2 Millionen Zeilen Kernel-Code aus 5 Tausend Dateien, um ordnungsgemäß zu funktionieren, während das Pixel-Handy 3,2 Millionen Zeilen Kernel-Code aus 6 Tausend Dateien verwendet (aufgrund der erhöhten Komplexität eines SoC).

Linux-Kernel-Veröffentlichungen

Der Linux-Kernel verwendet ein Veröffentlichungsmodell, das sich wesentlich von den Standard-AOSP-Veröffentlichungen unterscheidet. Mit der Veröffentlichung des 2.6er Kernels im Dezember 2003 wechselte die Kernel-Entwicklergemeinschaft von dem früheren Modell eines separaten Entwicklungs- und eines stabilen Kernel-Zweiges zu einem reinen Stabilitätszweig-Modell. Bei diesem Modell wurde alle 2 bis 3 Monate eine neue Version veröffentlicht, die dann als stabil erklärt und allen Benutzern zur Verwendung empfohlen wurde. Diese Änderung des Entwicklungsmodells war auf den sehr langen Veröffentlichungszyklus vor dem 2.6-Kernel (fast 3 Jahre) und den Kampf um die gleichzeitige Pflege von zwei verschiedenen Zweigen der Codebasis zurückzuführen.

Die Nummerierung der Kernel-Veröffentlichungen begann bei 2.6.x, wobei x eine aufsteigende Nummer war, die sich bei jeder Veröffentlichung änderte (der Wert der Nummer hat keine Bedeutung, außer dass sie neuer ist als die vorherige Kernel-Version). Die Kernelversion ist seither zu 4.x übergegangen, was 2 größeren Versionsänderungen entspricht.

Diese Versionsnummern werden nur von den Betreuern gewählt, um Verwirrung unter den Benutzern zu vermeiden, die durch höhere kleinere Versionsnummern verursacht wird.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.