Die Neuerungen von Linux 3.6
Der Kernel 3.6 beherrscht hybriden Schlaf, kann PCIe-Chips die Stromzufuhr abklemmen und bringt ein neues Framework für Userspace-Treiber. Dazu kommen verbesserte Netzwerkfunktionen, Quota- und Backup-Funktionen für Btrfs und neue Treiber.
- Thorsten Leemhuis
Zehn Wochen haben Linus Torvalds und seine Mitstreiter für die Entwicklung der jetzt erhältlichen Linux-Version 3.6 gebraucht. Der kürzlich "Terrified Chipmunk" getaufte Kernel bringt wieder eine Reihe wichtiger Neuerungen.
Powermanagement
Im Detail
Bereits in den vergangenen Wochen hat das Kernel-Log in der Serie "Was Linux 3.6 bringt" detailliert über die Neuerungen von Linux 3.6 berichtet:
Der nebenstehende Text fasst die wichtigsten Neuerungen dieser Artikel zusammen und gibt einen Ausblick auf den Kernel 3.7.
Dank Suspend to Both beherrscht der Linux-Kernel 3.6 hybrides Standby. Mac OS X und Windows bieten solch eine Funktion schon länger, bei der Rechner den Speicherinhalt sowohl im Arbeitsspeicher vorhält als auch vor dem Einschlafen auf den Systemdatenträger schreibt. Normalerweise wacht ein so schlafendes System dann wie aus dem Suspend-to-RAM (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.
Auf einem etwas älteren Testsystem mit 250-GByte-Festplatte arbeitete Suspend-to-Both im Kurztest wie gedacht. Das Schlafenlegen dauerte wie der Suspend-to-Disk rund 16 Sekunden und damit viermal so lange wie der Wechsel in den Suspend-to-RAM.
Der Linux-Kernel 3.6 kann zudem PCIe-Geräte in den Tiefschlafzustand "D3cold" schicken, den manche modernen Rechner unterstützten, um die Stromversorgung einzelner PCIe-Geräte komplett zu unterbrechen, wenn diese nicht benötigt werden (1, 2, 3).
Dateisysteme
Das weiterhin experimentelle Btrfs-Dateisystem unterstützt nun Quotas für Subvolumes; damit lässt sich reglementieren, wie viel Platz Nutzer in einem Subvolume maximal belegen dürfen (u. a. 1, 2). Eine weitere Btrfs-Neuerung ist send/receive. Über diese Schnittstellen können Userspace-Programme die Unterschiede zwischen zwei Snapshots bestimmen und in einer Datei sichern beziehungsweise solche Sicherungen bei Bedarf zurückspielen; das ist vor allem für inkrementelle, atomare Backups interessant. Einige weitere Erläuterungen zu dieser auch von ZFS gebotenen Funktion liefert ein LWN.net-Artikel.
Schon von 1996 stammt die Grundidee für eine mit Linux 3.6 umgesetzte Funktion, keinen Hard- und Softlinks in Verzeichnissen mit Sticky-Bit (etwa /tmp/) zu folgen, die in übergeordnete Verzeichnisse führen. Wie LWN.net in einem Artikel erläutert, unterbindet diese via Sysctl einschaltbare Funktion einen Trick, den Angreifer häufig einsetzen, um sich über Hintergrunddienste mit root-Rechten höhere Rechte zu verschaffen.
Storage
Über eine neue Schnittstelle können Userspace-Programme dem Kernel mitteilen, wenn sich die Größe einer verwendeten Partition ändert; dadurch kann der Kernel nun auch bei eingehängten oder anderweitig verwendeten Partitionen zur Laufzeit von Größenänderungen erfahren und die neuen Gegebenheiten fortan nutzen. Das Programm Resizepart wird die neue Kernel-Schnittstelle nutzen; es wurde in die zweite Vorabversion von Util-Linux 2.22-rc2 integriert, die kürzlich erschienen ist.
Änderungen am Software-RAID-Code des MD-Subsystems sollen die Performance von RAIDs verbessern, bei denen einige oder alle Datenträger SSDs sind. Die Kernel-Entwickler haben zudem den vorerst als Staging-Code markierten Fabric-Treiber tcm_vhost integriert, mit dem sich SCSI-Geräte eines Wirtssystems ohne viel Overhead in mit KVM virtualisierten Gastsystemen nutzen lassen.