Nach mehr als einem Jahr Entwicklung wurde die Version DragonFlyBSD 6.0 veröffentlicht, ein Betriebssystem mit hybridem Kernel, das 2003 ins Leben gerufen wurde, um eine alternative Entwicklung des FreeBSD 4.x-Zweigs zu ermöglichen. Zu den Besonderheiten von DragonFly BSD gehören das verteilte Versionsverwaltungssystem HAMMER, die Unterstützung für das Booten von "virtualisierten" Kerneln als Benutzerprozesse, die Möglichkeit, Daten und Metadaten der Dateisysteme auf SSD-Speichern zwischenzuspeichern, kontextabhängige, alternative symbolische Links sowie die Möglichkeit, Prozesse einzufrieren und ihren Status auf der Festplatte zu speichern. Der hybride Kernel verwendet leichte Threads (LWKT).
Hauptverbesserungen, die in DragonFlyBSD 6.0 hinzugefügt wurden:
- Das Caching-System im virtuellen Dateisystem (vfs_cache) wurde modernisiert. Diese Änderung hat die Zuverlässigkeit erhöht und die Leistung der Dateisysteme verbessert. Das Caching von vollständigen Pfaden wurde durch den Aufruf von cache_fullpath() optimiert.
- Das dsynth-Tool, das für den lokalen Aufbau und die Pflege von DPort-Binär-Repositorys gedacht ist, wurde erheblich verbessert. Die neue Version ermöglicht es, die ports-mgmt/pkg für den Paketbau explizit anzugeben. Es wurde Unterstützung für den ZSTD-Algorithmus hinzugefügt, und im Befehl 'prepare-system' werden veraltete Pakete entfernt. Zudem besteht die Möglichkeit, ccache beim Bauen zu verwenden.
- Die Arbeit an dem Dateisystem HAMMER2 wird fortgesetzt, das durch Funktionen wie separates Mounten von Snapshots, schreibbare Snapshots, Verzeichniskontingente, inkrementelles Mirroring und die Unterstützung verschiedener Datenkompressionsalgorithmen besticht. Im neuen Release wurde die erste Unterstützung für Multi-Volumes hinzugefügt, welche das Zusammenführen mehrerer lokaler Festplatten in ein Volume ermöglicht (der Netzwerk-Multi-Master-Modus wird momentan noch nicht unterstützt). Die Möglichkeit zur Vergrößerung der Partition wurde ebenfalls realisiert (Befehl hammer2 growfs hinzugefügt). Schwere Probleme bei der Deduplication wurden behoben.
- Die Leistung des tmpfs-Dateisystems wurde erheblich verbessert. Ein Dienstprogramm mounttmpfs wurde hinzugefügt, um die Platzierung von /tmp und /var/run in tmpfs zu vereinfachen.
- Eine Implementierung des Ext2-Dateisystems wurde hinzugefügt, das keinen GPL-lizenzierten Code enthält.
- Es wurden erhebliche Änderungen am virtuellen Speichersystem vorgenommen, einschließlich der Entfernung der Unterstützung für MAP_VPAGETABLE mmap(), die für den Betrieb von vkernel (virtuelle Kerne, die als Benutzerprozess ausgeführt werden) erforderlich ist. In der nächsten Version ist geplant, vkernel zurückzubringen und auf HVM-Basis neu zu gestalten.
- Die Implementierung der Aufrufe callout*() wurde überarbeitet.
- Die Unterstützung für das EFI-Firmware-Framebuffer wurde verbessert.
- Der sysmouse-Treiber unterstützt jetzt evdev.
- Die Aufrufe clock_nanosleep, fexecve, getaddrinfo und timeout wurden hinzugefügt. Unterstützung für fcntl(F_GETPATH) und die Flags IP_SENDSRCADDR und SO_PASSCRED wurden implementiert.
- In den Kernel wurde das kmalloc_obj-Subsystem integriert, um die Speicherm_fragmentierung zu reduzieren.
- Die Unterstützung des amdsmn-Treibers für die SMN (System Management Network) von AMD-Prozessoren wurde von FreeBSD übernommen.
- Im devd wurde die automatische Erkennung von drahtlosen Adaptern und die Erstellung entsprechender Netzwerk-Interfaces wlanX ermöglicht.
- Der Typ sysclock_t wurde von 32 auf 64 Bit umgestellt.
- Die Kette für die Ausführung von Systemaufrufen wurde optimiert.
- Die Leistung bei speicherknappen Bedingungen wurde optimiert.
- Der Mechanismus für isolierte Umgebungen (Jail) wurde erheblich überarbeitet. Die sysctl-Parameter für jail.* wurden restrukturiert.
- Unterstützung für Ethernet-Controller von Intel I219 wurde hinzugefügt, und die Unterstützung für Realtek-Chips wurde erweitert. Der bnx-Treiber unterstützt jetzt auch Broadcom NetXtreme Chips 57764, 57767 und 57787.
- Im Netzwerk-Stack wurde die Unterstützung für die Adressfamilie AF_ARP hinzugefügt, die ARP-Adressen repräsentiert.
- Die Komponenten der DRM (Direct Rendering Manager)-Schnittstelle wurden mit dem Linux-Kernel 4.10.17 synchronisiert. Der Treiber drm/i915 für Intel-GPUs wurde aktualisiert.
- Die standardmäßig eingestellte Baudrate des seriellen Ports wurde von 9600 auf 115200 Baud erhöht.
- Der Befehl ifconfig hat die Option „-f“ erhalten und ermöglicht die Filterung der Ausgabe nach Gruppen von Schnittstellen.
- Die Implementierungen der Werkzeuge shutdown, reboot, printf, test, sh, efivar, uefisign wurden aus FreeBSD synchronisiert.
- Die Spiele ching, gomoku, monop und cgram wurden aus NetBSD übernommen.
- Die Tools efidp und efibootmgr sind jetzt enthalten.
- Die Funktionalität der pthreads-Bibliothek wurde erweitert, und die Unterstützung für pthread_getname_np() wurde hinzugefügt.
- Die Bibliothek libstdbuf wurde aus FreeBSD übernommen.
- In libutil wurde die Unterstützung für sockaddr_snprintf() hinzugefügt, die aus NetBSD übernommen wurde.
- In den im Installer festgelegten Passwörtern ist die Verwendung von Sonderzeichen erlaubt.
- Das Grundpaket enthält zstd (Version 1.4.8).
- Die Versionen der Drittanbieter-Komponenten wurden aktualisiert, darunter dhcpcd 9.4.0, grep 3.4, less 551, libressl 3.2.5, openssh 8.3p1, tcsh 6.22.02 und wpa_supplicant 2.9. Standardmäßig wird der Compiler gcc-8 verwendet.
Quelle: opennet.ru
