DragonFly BSD: Fokus auf Performance

Mi, 7. April 2021, Niklas

DragonFly BSD entstand im Juli 2003, als FreeBSD auf Version 5 gesprungen ist und Matt Dillon, einer der damaligen FreeBSD Entwickler, mit einigen Entscheidungen nicht einverstanden war. DragonFly BSD führt die FreeBSD Version 4 weiter und hat über die Jahre deutliche Unterschiede gegenüber FreeBSD entwickelt.

Bei den Entscheidungen damals ging es hauptsächlich um die Umsetzung von Kernel-Threading und die SMP Unterstützung. Das sind auch jene Punkte, in denen DragonFly BSD allen anderen BSD Varianten heute weit voraus ist. Bereits kurz nach dem Fork wurden einige APIs modernisiert und experimentelle Änderungen vorgenommen. Das war hier einfach, denn man musste nicht auf Abwärtskompatibilität achten.

DragonFly BSD ist offen für neue Projekte und hat beispielsweise die sicherere malloc Implementierung von OpenBSD schnell übernommen. Mit den eigens entwickelten Lightweight Kernel Threads wird der Wettstreit zwischen den Prozessoren reduziert, indem Prozesse immer an einen bestimmten Prozessor gebunden werden. Das trägt zu einer Steigerung der Leistung bei.

Mit HAMMER wurde eigens für DragonFly BSD auch ein neues Dateisystem geschrieben, dass das herkömmliche Unix Dateisystem UFS ablösen soll und einige sinnvolle Zusatzfunktionen enthält. So benötigt es etwa kein fsck nach einem Absturz und speichert alle 30 Sekunden die Veränderungen, sodass ältere Zustände wiederhergestellt werden können. Es unterstützt Partitionen bis zu einer Grösse von einem Exabyte und spart Speicherplatz durch Deduplikation von Datenblöcken.

DragonFly BSD ist die einzige BSD Variante mit einem Hybridkernel. Dieser vereint die Vorteile von monolithischen Kernels, wie Linux und anderen BSD Varianten, und von Microkernels. Er ist weniger fehleranfällig, weil Treiber mit weniger Privilegien arbeiten und nicht das ganze System zum Absturz bringen können. Gleichzeitig punktet er mit einer hohen Performance, weil nicht so viele Kontextwechsel notwendig sind, wie bei Microkernels.

Mit einem Vergleich aus dem Jahr 2012 behauptet DragonFly BSD von sich selbst, allen anderen BSD Varianten weit überlegen zu sein und etwa auf einer Stufe mit Linux zu stehen. Neuere Benchmarks von Phoronix zeigen allerdings, dass das nicht mehr immer zutrifft. Bei den meisten Aufgaben gewinnt Linux, während DragonFly BSD und FreeBSD fast gleichauf liegen.

DragonFly BSD wird hauptsächlich für Server entwickelt und ist für Hardware mit viel Leistung optimiert. Dort ist es auch eher empfehlenswert. Es ist durchaus möglich, DragonFly BSD als Desktop Betriebssystem zu nutzen, wobei der Xorg Server und die Desktop-Oberfläche dann von Hand installiert werden müssen. Seine grossen Vorteile kann es auf einem durchschnittlichen PC aber nur bedingt entfalten.

Hinweis: Es war mir nicht möglich, DragonFly BSD auf meinem Testlaptop (Lenovo 3000 N200) zu installieren, weshalb ich auf eine QEMU VM ausweichen musste. Es kann vorkommen, dass DragonFly BSD auch mit anderer PC/Laptop Hardware Probleme hat, da es wie bereits erwähnt auf die Nutzung auf Servern ausgelegt ist.

DragonFly BSD ist nur für die x86_64 Architektur verfügbar und kann als ISO oder USB Image heruntergeladen werden.

Quellen: