Login
Newsletter
Werbung

Di, 22. Januar 2013, 09:14

Software::Distributionen::Debian

Einblick in den Kernel von Debian 7.0

Ben Hutchings, der Hauptverantwortliche für den Kernel in Debian, hat einen Einblick in die Entwicklung gegeben und die Unterschiede zwischen dem Debian- und dem Standard-Linux-Kernel erläutert.

Software in the Public Interest (SPI)

Während Debian 7.0 »Wheezy« noch etwa 200 kritische Fehler und damit vielleicht drei Monate von der Veröffentlichung entfernt ist, steht der für Wheezy verwendete Kernel schon lange fest. Der Kernel beruht auf Linux 3.2 und enthält eine Reihe von Anpassungen an die Distribution, aber auch Fehlerkorrekturen. Darüber hinaus wurden auch Treiber, neue Funktionen und Funktionserweiterungen aus neueren Kernel-Versionen integriert.

Jetzt hat Ben Hutchings, Mitglied im Debian-Kernel-Team und offizieller Betreuer der Kernel-Version 3.2, in einer Serie von drei Blog-Einträgen die Unterschiede zwischen dem Debian- und dem Standard-Linux-Kernel erläutert. Teil 1 zählt Änderungen auf, die (noch) nicht im Standard-Kernel zu finden sind. Als erstes benötigt Debian für seine Live-Medien ein Union-Dateisystem. Hier setzt Debian auf Aufs. Eine Reihe von Patches soll die Sicherheit erhöhen. Die »Magic SysRq«-Funktionen sind daher standardmäßig eingeschränkt, was aber geändert werden kann. Die Netzwerkprotokolle AF_IEEE802154, AF_RDS und AF_DECnet müssen explizit geladen werden, bevor man sie nutzen kann. Das Dateisystem debugfs ist nur Root zugänglich, was im Standard-Kernel erst ab Version 3.7 der Fall ist. Einschränkungen der Verwendung von symbolischen und anderen Links wurden aus Kernel 3.6 ausgeborgt. Auch diese sind bei Bedarf abschaltbar. Im proc-Dateisystem können Benutzer daran gehindert werden, Statusinformationen von Prozessen zu lesen, die ihnen nicht gehören; diese Funktion muss aber eingeschaltet werden, wenn sie gewünscht wird.

Byte Queue Limits (BQL) und der Algorithmus CoDel zur Verwaltung von Sendewarteschlangen sind zwei Änderungen aus neueren Kerneln, die helfen sollen, das Problem des Buffer Bloat zu lösen. Buffer Bloat ist das Problem, dass die Puffer in vielen Netzwerkgeräten und Rechnern viel zu groß sind, was die Flusssteuerung von TCP aushebelt und zu einer extremen Verlangsamung der Übertragung und stark ansteigenden Latenzzeiten führen kann.

Weitere Zusätze zum Standard-Kernel beschreibt Teil 2. CPUs des Systems werden als normale Geräte verwaltet, womit Treiber für CPU-Frequenzskalierung, Temperaturüberwachung und andere automatisch geladen werden können. Control Groups sind enthalten, wobei der viel Leistung fressende Memory Controller standardmäßig deaktiviert ist. Auch das automatische Gruppieren von Prozessen, das die Interaktivität von Desktop-Anwendungen verbessern soll, ist standardmäßig deaktiviert.

Der Kernel wird als EFI-Programm erzeugt, so dass er direkt von einer EFI-Shell gestartet werden kann. Drei Sicherheitsmodule sind enthalten: AppArmor, SELinux und TOMOYO. Nur eines davon kann aktiv sein, was mit einem Bootparameter bestimmt wird. AppArmor wurde erweitert, um mit den älteren Versionen der Werkzeuge zusammenzuarbeiten, die in Debian 7.0 enthalten sind. Eine weitere Änderung betrifft Xen, das in der Lage ist, CPU-Mikrocode-Updates zu laden.

In Teil 3 schließlich beschreibt Hutchings eine separate Kernel-Variante. Debian stellt auch eine echtzeitfähige Kernel-Version auf Basis von Linux 3.2 bereit. Diese enthält die PREEMPT_RT-Patches, die den Kernel in Steuerungen und schnellen Handelssystemen einsetzbar machen. Auch Audio- und Video-Anwendungen können, insbesondere bei Live-Aufnahmen, davon profitieren. Außerhalb dieser Bereiche hat die Echtzeitfähigkeit keine Vorteile, sondern kostet einige Prozent an Leistung.

Eine weitere Erweiterung sind die paravirtualisierten Treiber für MS Hyper-V, die aus Kernel 3.4 stammen. Der zugehörige Daemon war allerdings zu fehlerhaft und wurde nicht rechtzeitig fertig.

Werbung
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung