Zum Hauptinhalt Zur Navigation

Linux-Kernel 2.6.21 tickt dynamisch

Weitere Virtualisierungsfunktionen aufgenommen. Mit dem Linux-Kernel 2.6.21 haben die Entwickler rund um Linus Torvalds nun eine neue Version freigegeben, die hauptsächlich zuvor aufgenommene Funktionen verbessert und erweitert. Neu aufgenommen wurden die Patches für dynamische Ticks, auch wenn diese Implementierung noch nicht vollständig ist.
/ Julius Stiebert
18 Kommentare News folgen (öffnet im neuen Fenster)

Viel Aufmerksamkeit bekamen die mit dem Linux-Kernel 2.6.20 integrierten Virtualisierungsfunktionen und so legen die Entwickler mit der neuen Version nochmals nach. Zum einen hielt VMwares Virtual Machine Interface (VMI) Einzug in den Kernel. Unter anderem VMware Workstation 6 wird diese Schnittstelle nutzen, um so bei Linux-Gästen mit aktiviertem VMI eine höhere Leistung zu erreichen.

Dabei geht es wie schon bei dem in 2.6.20 integrierten " paravirt_ops " um eine einheitliche Schnittstelle für die Paravirtualisierung, die von verschiedenen Hypervisorn genutzt werden kann. So verschwindet das Problem, dass der Linux-Kernel an jeden Hypervisor einzeln angepasst werden muss, um paravirtualisiert zu laufen – was vor allem eine höhere Leistung bietet.

Die Entwickler integrierten außerdem die Paravirtualisierungs-Patches für die Kernel-Based-Virtual-Machine (KVM), die ebenfalls in 2.6.20 aufgenommen wurde. Ursprünglich war dies ein Treiber für die Virtualisierungstechniken von AMD- und Intel-Prozessoren, dank Ingo Molnar kann KVM nun aber auch Linux-Gäste paravirtualisieren und so ebenfalls eine höhere Leistung erzielen. Des Weiteren ist nun die Live-Migration von virtuellen Maschinen mit KVM möglich und auch CPU-Hotplug funktioniert in Verbindung mit KVM, ebenso wie Suspend und Resume virtueller Maschinen. Ferner gibt es eine stabile Userspace-Schnittstelle für Entwickler.

Integriert wurden auch die High Resolution Timer mit Dynamic Ticks (Dynticks). Normalerweise gibt es 100 bis 1.000 Timer-Ticks pro Sekunde, mit den Dynamic Ticks lässt sich diese Anzahl reduzieren, so dass ein unbelasteter Rechner häufiger in den Energiesparmodus gehen und so die Leistungsaufnahme senken kann. Bisher steht diese neue Funktion nur auf 32-Bit-x86-Rechnern zur Verfügung und stoppt nur die Timer-Interrupts, wenn der Rechner nichts zu tun hat. Letztlich bietet Dynticks aber auch die Möglichkeit, einen "tickless" Kernel zu bauen, mit dem sich noch mehr Energie sparen lässt. Dies wird in künftigen Versionen folgen, ebenso wie die Dynticks für x86-64 und ARM – die schon fertig, nur noch nicht integriert sind – sowie für PPC und MIPS.

Durch die hochauflösenden Timer kann der Ausführungszeitpunkt einer Aufgabe zudem genauer eingehalten werden. Im Echtzeitbereich ist dies wichtig.

Darüber hinaus gibt es nun ASoC (ALSA System on Chip), womit auf Embedded-Geräten eine bessere Sound-Unterstützung zu erwarten ist. Ein neuer Treiber ermöglicht außerdem, BlackBerry-Geräte über die USB-Schnittstelle aufzuladen. Neue Treiber sind zudem unter anderem für die Attansic-L1-Netzwerkkarte und für Initio-162x-SATA-Geräte dabei.

Änderungen gab es wieder einmal bei den Dateisystemen. Ecryptfs ist ein Dateisystemaufsatz von IBM, um einzelne Dateien zu verschlüsseln und ist seit 2.6.19 im Linux-Kernel. Nun unterstützt Ecryptfs auch die Verschlüsselung mit Public-Keys. Unabhängig davon, ob sich Metadaten im Datei-Header oder in den erweiterten Attributen befinden, kann auf diese über den Header zugegriffen werden. Im Zusammenspiel mit inkrementellen Backups kann dies von Bedeutung sein.

Beim Einsatz des Cluster-Dateisystems GFS2 sollen sich Verzeichnisse nun schneller auslesen lassen und "growfs" kann mit über 2 TByte großen XFS-Dateisystemen umgehen. NFS funktioniert zudem auch in Verbindung mit IPv6 und Minix-V3-Dateisysteme lassen sich einbinden.

Im Netzwerkbereich wurde IPsec so erweitert, dass IPv4 über IPv6 und umgekehrt getunnelt werden kann. Darüber hinaus umfasst der neue Kernel wieder eine Reihe von Treiber-Updates im Bereich SATA und Parallel ATA, aber auch neue Sound-Chips werden unterstützt. Insbesondere für Notebooks-Nutzer sind die ACPI-Aktualisierungen interessant, denn ACPI nutzt jetzt das Sysfs-Framework und so gibt es auch Sysfs-Unterstützung für hintergrundbeleuchtete Bildschirme. Zudem wurden speziell für Sony- und Asus-Notebooks neue Treiber hinzugefügt.

In der neuen Version lässt sich der Kernel aus dem Userspace heraus als "tainted" ("befleckt") markieren. Bisher geschah dies vor allem, wenn proprietäre Kernel-Module geladen wurden, aber beispielsweise auch wenn ein SMP-Kernel auf nur einer CPU lief. Nun kann aber über /proc/sys/kernel/tainted der Kernel als tainted markiert werden, wobei das "U"-Flag verwendet wird. Anlass dafür war die Real-Time-Spezifikation für Java (RTSJ), die Zugriff auf den Speicher verlangt, was wiederum mit der Sicherheitserweiterung SELinux kollidiert. Daher wird beim Einsatz der Kernel nun markiert, um den Anwender über dieses Problem zu informieren.

Wie üblich steht der neue Kernel 2.6.21 als komplettes Archiv(öffnet im neuen Fenster) und als Patch(öffnet im neuen Fenster) zum Download bereit. Auch auf diversen Mirror-Servern(öffnet im neuen Fenster) liegen die Dateien.

Wie geht es weiter?

Noch spannender könnte es bei den nächsten zwei Kernel-Versionen werden. Das Dateisystem Reiser4 liegt noch immer in Andrew Mortons Entwickler-Kernel und es sieht nicht so aus, als würde es in einer der nächsten Kernel-Versionen in den Hauptzweig aufgenommen. Anders sieht es da beim neuen WLAN-Stack mac80211 aus, der voraussichtlich schon recht bald in den Haupt-Kernel gelangen wird. Er verspricht vor allem eine bessere Hardware-Unterstützung und wird das erst mit Linux-Kernel 2.6.14 eingeführte IEEE80211-Subsystem ablösen. Die Linux-Distribution Fedora 7 beispielsweise wird mac80211 bereits verwenden.

Auch ein neuer Scheduler, der für die Zeitzuteilung an Prozesse zuständig ist, könnte in eine der nächsten beiden Kernel-Versionen gelangen. Im Rennen sind beispielsweise der Rotating Staircase Deadline Scheduler (RSDL) und der Completely Fair Scheduler (CFS). Die Aufnahme mehrerer Scheduler wurde von den Kernel-Entwicklern bereits ausgeschlossen.


Relevante Themen