Kernel-Log – Was 3.6 bringt (5): Infrastruktur

Ähnlich wie aktuelle Versionen von Mac OS X und Windows beherrscht Linux jetzt einen hybriden Schlaf. Kernel 3.6 liefert zudem bessere Zufallsdaten und nimmt EFI-Boot-Loadern Arbeit ab.

In Pocket speichern vorlesen Druckansicht 16 Kommentare lesen
Lesezeit: 9 Min.
Von
  • Thorsten Leemhuis
Inhaltsverzeichnis

Bei der Freigabe der sechsten Vorabversion von Linux 3.6 hat Linus Torvalds zum Testen aufgefordert und erklärt, er würde den Kernel 3.6 gerne bald veröffentlichen. Es ist daher nicht auszuschließen, dass dies bereits die letzte Vorabversion war und der neue Kernel in Kürze erscheint; so manches Mal hat Torvalds nach solch einem Statement dann aber doch noch einen weiteren RC veröffentlicht, daher erscheint Linux 3.6 vielleicht auch erst zum Monatswechsel.

Aufgrund der sich nähernden Fertigstellung schließt dieser Artikel zu den Änderungen an der Infrastruktur von Linux 3.6 daher nun die Kernel-Log-Mini-Serie "Was 3.6 bringt" ab. Die ersten vier Teile der Serie hatten sich bereits den Neuerungen in den Bereichen Dateisystemen und Storage, Netzwerk, Architektur-Code sowie Treibern gewidmet.

Durch das neue Suspend to Both wird der Linux-Kernel 3.6 hybrides Standby beherrschen. Mac OS X und Windows bieten solch eine Funktion schon länger, bei der Rechner den Speicherinhalt während des Schlafs sowohl im Arbeitsspeicher als auch auf dem Systemdatenträger vorhält. Normalerweise wacht ein so schlafendes System dann wie aus dem Suspend-to-RAM (Bereitschaftsmodus/ ACPI S3) innerhalb von Sekunden auf; wurde während des Rechnerschlafs jedoch die Stromversorgung unterbrochen, etwa weil der Notebook-Akku zur Neige ging, restauriert das System den Hauptspeicherinhalt wie nach einem Suspend-to-Disk (Hibernate/Ruhezustand) vom Datenträger.

Der neue Schlafmodus lässt sich über den folgenden Befehl manuell ansteuern:

echo suspend > /sys/power/disk; echo disk > /sys/power/state

Auf einem etwas älteren Testsystem mit 250-GByte-Festplatte arbeitete Suspend-to-Both im Kurztest wie gedacht; es benötigte zum Schlafenlegen rund 16 Sekunden – viermal so lange wie der Wechsel in den Suspend-to-RAM und ähnlich lange wie beim Ansteuern von Suspend-to-Disk.

Linux 3.6 wird beim Sammeln von Daten zum Bereitstellen von Zufallsdaten für /dev/random und /dev/urandom bislang ungenutzte Entropiequellen einbeziehen; darunter MAC-Adressen, DMI-Daten und Informationen zur USB-Hardware. Das soll unter anderem die Arbeit von Kryptografie-Software verbessern, denn Sicherheitsspezialisten war kürzlich aufgefallen, dass knapp sechs Prozent der untersuchten TLS- und knapp zehn Prozent der SSH-Host-Schlüssel Ähnlichkeiten aufweisen. Daran sollen unzureichende Zufallsdaten Mitschuld haben, die der Kernel zur Schlüsselerzeugung beigesteuert hat; das Problem soll sich speziell bei Embedded Devices häufiger gezeigt haben. Weitere Hintergründe erläutert ein LWN.net-Artikel. Viele der Änderungen zur besseren Entropie-Erzeugung sind auch in die neuesten Stable- und Longterm-Kernel der 3er-Serie eingezogen, damit auch diese bessere Zufallsdaten liefern und das Problem so schneller aus der Welt verschwindet.

Die Kernel-Entwickler haben das Protokoll zum Handover von Boot-Loader zum Linux-Kernel erweitert, damit sich der Kernel beim Start von x86-Systemen per EFI um einige Initialisierungsaufgaben selbst kümmern kann; die erledigte bislang der Boot-Loader, wenn Linux nicht durch die bei Version 3.3 aufgenommene EFI-Stub-Funktion startete. Die jetzt integrierten Änderungen vereinfachen die Arbeit für EFI-Boot-Manager, da sie nun nur mehr die Darstellung eines Boot-Menüs und das Laden von Kernel und Initrd erledigen müssen; der neue Ansatz kann zudem den Boot-Vorgang beschleunigen.

Einige Änderungen sollen die Zahl der Module erheblich reduzieren, die das Make-Target localmodconfig aktiviert lässt (u. a. 1, 2); mit ihm lässt sich auf die Schnelle eine Kernel-Konfiguration erzeugen, die halbwegs zum System passen sollte und idealerweise keine Funktionen kompiliert, die nicht benötigt werden.

Über den neuen Cgroup-Controller HugeTLB können Administratoren nun die Verwendung von großen Speicherseiten (Huges Pages) regulieren.