NetBSD: Version 10 spricht WireGuard und verbessert Virtualisierung
NetBSD 10.0 unterstĂĽtzt WireGuard-VPNs, verbessert die Leistung und baut Virtualisierung aus.
Am Osterwochenende ist das neue Release von NetBSD erschienen. Mit NetBSD 10.0 stellt das freie Unix-System sein 18. Major-Release vor. NetBSD begann 1993 mit Version 0.8 als Fork von 386BSD und zählte zunächst hinter dem Dezimalpunkt die Hauptversionen hoch, bis Stand 1.6 erreicht war. Erst seit 2.0 sind Major-Releases an dem Wertwechsel vor dem Punkt zu erkennen.
Das Release verspricht verbesserte Leistung, hat das WireGuard-Protokoll im Gepäck und legt bei Hardware-Unterstützung sowie Virtualisierung nach.
Anschluss gesucht
NetBSD bringt nun Support fĂĽr das VPN-Protokoll (Virtual Private Network) WireGuard mit. Es hat hierfĂĽr einen neuen virtuellen Netzwerktreiber wg
samt Werkzeugkasten zum Konfigurieren mittels wgconfig
und zum Erzeugen von kryptografischen SchlĂĽsseln (wg-keygen
). Näheres zu den Netzwerkgeräten und den Tools finden Interessierte in den Manpages wg(4)
, wg-userspace(8)
und wgconfig(8)
.
Damit kann NetBSD grundsätzlich VPN-Tunnel zu WireGuard-fähigen Geräten herstellen, wie Systeme unter Android, FreeBSD, Linux, macOS, OpenBSD und Windows sowie zu diversen Routern wie Fritz!Box und mit OpenWRT angetriebener Hardware. WireGuard in NetBSD ist allerdings noch als "experimentell" eingestuft und bedarf noch intensiver Tests.
Leistung gesteigert
Das neue Release des freien Betriebssystems verspricht erhebliche Leistungssteigerungen gegenüber dem Vorgänger NetBSD 9.x. Die Performance-Verbesserungen zeigen sich bei Multiprozessor- oder Multi-Core-Systemen. Sie betreffen rechenintensive und dateisystemlastige Anwendungen.
Den Zugriff aufs Dateisystem beschleunigt ein umgebauter Lookup-Cache. In diesem kommen pro Verzeichnis eigene schnellere binäre Suchbäume (Red-Black Trees) zum Einsatz. Damit lassen sich Dateien schneller in den Tiefen der Datenspeicher aufspüren. Das mag die enormen Steigerungen in den Benchmarks beispielsweise bei dateiintensiven make
-Prozessen erklären.
Das temporäre Dateisystem tmps
erhält ebenfalls einen Leistungsschub. Unter anderem durch verzögerte Updates (lazy updates) von Zeitstempeln von Zugriffszeit (atime
) und Modifikation (mtime
).
Unter der Haube
Auch die architekturunabhängigen Teile des "Virtual Memory Systems" erfuhren eine Runderneuerung. Die Memory-Page-Lookups beschleunigt ein Wechsel zu einem schnelleren Radix-Tree. Zudem sorgt das Parallelisieren beim Allokieren von Pages mit Blick auf die vorliegenden Prozessortopologie für mehr Leistung. Statt auf einen globalen Zähler für alle CPUs zu setzen, kommen nun Zähler pro CPU zum Einsatz. Lock-Situationen, bei denen sich Tasks gegenseitig ausbremsen, sollen seltener auftreten.
Die verbesserten System-Calls select()
und poll()
fürs synchronisierte I/O-Multiplexing sorgen noch für ein zusätzliches Quäntchen Performance-Schub auf allen Plattformen. Im Optimierungsfokus lagen ansonsten Intel- und ARM-basierte Systeme. NetBSD 10.0 baut breit im ARM-Lager aus – insbesondere bei Apple-Silicon-basierten Systemen und beim Raspberry Pi. Bei letzterem jedoch nur Raspberry Pi 3 und 4. Die aktuelle 5er-Variante bleibt unerwähnt. Allgemein verspricht das neue NetBSD – nach eigenen Aussagen – einen "enorm" gesteigerten Netzwerk- und I/O-Durchsatz (throughput).
Hardware-seitig bringen neue Treiber für Ethernet-Adapter mit 10, 25 und 40 Gbit/s von Intel sowie Unterstützung für 2,5-Gbit/s-Adapter von Realtek das System auf die Höhe der Zeit. Bei x86-Systemen kommt NetBSD mit einer breiteren Palette an Laptop-Hardware klar und baut die Unterstützung für NVMe, UEFI und Hardware-beschleunigte Grafik aus.
Hypervisor
Zudem legt NetBSD im Bereich Virtualisierung nach. Sowohl an Xen als auch am NetBSD-nativen Hypervisor NVMM (NetBSD Virtual Machine Monitor) feilten die Entwickler. NVMM bietet Hardware-beschleunigte und sichere virtuelle Maschinen unter QEMU.
NetBSD unterstützt nun unter Xen PVH-Gäste, die sich zwischen Paravirtualisierung und Hypervisor ansiedeln. Es handelt sich dabei um leichtgewichtige Hypervisor-VMs, die für I/O die Treiber der Paravirtualisierung nutzen. Die restlichen Operationen der Gäste werden über native Interfaces abgebildet. Gegenüber den "normalen" Hypervisor-Gastsystemen (HVM) entfällt hier der Weg über QEMU.
Ein Herz fĂĽr Itanium
NetBSD hat es sich auf die Fahnen geschrieben, auf möglich vielen Plattformen zu Hause zu sein. So läuft das freie Unix auf aktuellen Architekturen ebenso wie auf Exoten und (ver)alt(et)er Hardware wie Motorola MC68K (Atari ST/STE/TT, Amiga), PowerPC-basiertem MacIntosh und Amigas sowie alten SPARC-Systemen aus der Zeit von Sun Microsystems. NetBSD ist damit für "aufgebene Architekturen" die erste Adresse für einen oft nachhaltigen Weiterbetrieb nicht mehr ganz junger bis ausgewiesen alter Systeme. Zu diesen fallen gelassenen Architekturen gehört auch IA-64; sprich der Itanium-Prozessor.
Für Nutzer von Itanium-Systemen wurde die Luft in den letzten Monaten zunehmend dünner. Linux 6.7 strich die Prozessorarchtitektur im Januar aus dem Kernel. Hewlett-Packards Unix für IA-64 – HP/UX – wird Ende 2025 den Betrieb einstellen. Das letzte kommerzielle Zugpferd auf Itanium – OpenVMS – geht konsequent in Richtung x86. Hobbyisten werden durch Ausbleiben neuer Lizenzen bereits jetzt "sanft" auf die neue PC-basierte Plattform geschubst.
NetBSD hingegen arbeitet an einem Port für die verschmähte Prozessorarchitektur. Aktuell laufen die Entwicklungsarbeiten rein auf dem Emulator "SKI" von Hewlett-Packard. Ein offizielles Release für ein Itanium-System gibt es bislang nicht. Es ist aber zumindest ein (letzter) Hoffnungsschimmer für alte IA-64-Systeme.
Zusammengefasst
Mit NetBSD 10.0 legt das Entwicklerteam ein modernes System vor. Es verbessert die Leistung und bringt die Hardware-Unterstützung auf den neuesten Stand. Seinem Motto, auf möglichst viel Hardware-Plattformen lauffähig zu sein, bleibt das Open-Source-Projekt treu.
(dmk)