Die Veröffentlichung des Betriebssystems DragonFly BSD 5.6

VerfĂŒgbar Release DragonFlyBSD 5.6, eines Betriebssystems mit einem hybriden Kernel, entwickelt im Jahr 2003 mit dem Ziel, eine alternative Entwicklungslinie zu FreeBSD 4.x. Zu den Besonderheiten von DragonFly BSD gehören das verteilte Versionierungssystem HAMMER, die UnterstĂŒtzung fĂŒr das Booten von „virtuellen“ Systemkernen als Benutzerprozesse, die Möglichkeit der Daten- und Metadatencaching auf SSD-Speichern, kontextabhĂ€ngige varianten symbolische Links, die Möglichkeit, Prozesse zu憻结, wĂ€hrend deren Zustand auf der Festplatte gespeichert wird, ein hybrider Kernel, der leichtgewichtige Threads (LWKT) verwendet.

Haupt Verbesserungen, hinzugefĂŒgt in DragonFlyBSD 5.6:

  • Das System zur Verwaltung des virtuellen Speichers wurde modernisiert. Viele Subsysteme, die mit virtuellem Speicher und PMAP zusammenhĂ€ngen, wurden neu geschrieben.
    In vielen Bereichen wurde der Code von Sperren befreit, einschließlich der Funktionen m_page_wakeup, vm_hold und vm_unhold. Die Effizienz der Nutzung des CPU-Caches wurde durch die Reduzierung der Migration von VM-Objekten zwischen CPU-Kernen und die Verringerung der Overhead-Kosten bei der Verarbeitung von Ausnahmen (page-fault) fĂŒr gemeinsam genutzte Speicherbereiche verbessert. Der Algorithmus zur Zuweisung von Seiten im Speicher wurde optimiert. Verzögerungen in der Funktion vm_page_alloc() wurden beseitigt. Die API vm_page_hash*() wurde hinzugefĂŒgt, die es ermöglicht, Abfragen ohne Sperren durchzufĂŒhren.

    Insgesamt ist es gelungen, deutlich die Leistung zu steigern. Zum Beispiel
    wurde im buildkernel-Test die AusfĂŒhrungszeit der Operationen im Kernbereich um 40 % verkĂŒrzt. Die Bandbreite stieg um 7 % bei der Verwendung der Haswell-CPU-Familie und um 14 % fĂŒr Xeon. Im SELF-EXEC S/DI-Test im Vergleich zur vorherigen Version wurde eine Leistungssteigerung von 23 % fĂŒr Haswell und 18 % fĂŒr Xeon verzeichnet. Im Test
    SELF-EXEC S/SH betrug die Steigerung entsprechend 28 % und 71 %, in SELF-EXEC D/DI — 23 % und 242 % (aufgrund der Verbesserung der Multithreading-Leistung), in SELF-EXEC D/SH um 24 % und 234 %, in FAULTZF um 17 % und 14 %, in DOCOMP um 22 % und 42 %,
    in NATIVEKERNEL um 5,1 % und 8,1 %.

  • Der DRM-Treiber und der TTM-Speicherverwaltungsmanager fĂŒr AMD-Grafikkarten wurden erheblich aktualisiert. Neue Ryzen-APUs werden nun unterstĂŒtzt. Die UnterstĂŒtzung des UEFI-Framebuffer wurde verbessert. In radeon/ttm wurde eine gegenseitige Blockade beseitigt, die sich negativ auf die Leistung auswirkte. Das Timing des Bootvorgangs wurde neu strukturiert, um Konflikte zwischen dem i915-Treiber und dem X-Server zu vermeiden. Der Aufruf DRM_IOCTL_GET_PCIINFO wurde hinzugefĂŒgt, um die UnterstĂŒtzung von mesa/libdrm zu verbessern. Viele Fehler und MĂ€ngel wurden behoben.
  • Der Synchronisierungscode im HAMMER2-Dateisystem wurde neu geschrieben, was die Leistung dieses Dateisystems erheblich gesteigert hat. Auch die LeistungsfĂ€higkeit von sequentiellen SchreibvorgĂ€ngen wurde erhöht.
    Um die Robustheit gegenĂŒber AbstĂŒrzen zu erhöhen, wurde eine AbhĂ€ngigkeitsverfolgung hinzugefĂŒgt, um die Trennung von Verzeichnissen/Dateien wĂ€hrend der Erstellung, Umbenennung oder Löschung zu vermeiden. Der Code zur Verarbeitung von Snapshots wurde ĂŒberarbeitet, um Verzögerungen zu verringern und die Konsistenz des Snapshots zu garantieren. Die Handhabung gleichzeitiger SchreibvorgĂ€nge und des Cache-Flushs auf die Festplatte wurde verbessert. Die Implementierung des Befehls umount wurde optimiert. Die InformativitĂ€t der Meldungen zu IntegritĂ€tsverletzungen (CRC-Fehler) wurde erhöht.

    HAMMER2 wird als Standard-Root-Dateisystem empfohlen. Die UnterstĂŒtzung fĂŒr Cluster ist derzeit nicht verfĂŒgbar. Das Dateisystem HAMMER2 zeichnet sich durch Funktionen wie das separate EinhĂ€ngen von Snapshots, schreibbare Snapshots, Quotas auf Verzeichnisebene, inkrementelles Mirroring und die UnterstĂŒtzung verschiedener Datenkompressionsalgorithmen sowie Multi-Master-Mirroring mit Datenverteilung auf mehrere Hosts aus.

  • Erste UnterstĂŒtzung fĂŒr das FUSE-Subsystem zur Erstellung von Dateisystemen im Benutzerspeicher wurde hinzugefĂŒgt.
  • Die Leistung des Paketfilters PF auf Mehrkernsystemen wurde gesteigert.
  • Die UnterstĂŒtzung fĂŒr die Schutzmechanismen SMAP (Supervisor Mode Access Prevention) und SMEP (Supervisor Mode Execution Prevention) wurde implementiert, sofern sie im CPU unterstĂŒtzt werden. SMAP ermöglicht es, den Zugriff auf Benutzerdaten aus privilegiertem Code, der im Kernelmodus ausgefĂŒhrt wird, zu blockieren. SMEP verhindert den Übergang vom Kernelmodus zur AusfĂŒhrung von Code im Benutzermodus, was die Ausnutzung vieler Schwachstellen im Kernel verhindert (Shell-Code wird nicht ausgefĂŒhrt, da er sich im Benutzermodus befindet).
  • Code zum Blockieren wurde hinzugefĂŒgt. Angriffen der MDS (Microarchitectural Data Sampling)-Klasse in Intel-Prozessoren. Um zu funktionieren, ist ein aktualisierter Mikrokode erforderlich. Der Schutz ist standardmĂ€ĂŸig deaktiviert und wird ĂŒber 'sysctl machdep.mds_mitigation=MD_CLEAR' aktiviert. Die Aktivierung fĂŒhrt zu einer zusĂ€tzlichen Verzögerung von etwa 250 ns beim Kontextwechsel zwischen Benutzer- und Kernelraum.
  • Der Kernel wird standardmĂ€ĂŸig mit dem retpoline-Schutz vor Spectre-Angriffen kompiliert.
  • Viele der Systemwerkzeuge wurden auf die Verwendung von LibreSSL umgestellt.
  • Die Versionen der Drittanbieterkomponenten wurden aktualisiert, darunter xz 5.2.4,
    libarchive 3.3.3, libressl 2.9.1, openssh 8.0, ldns 1.7.0.
    libedit 2019-03-24. Aus FreeBSD wurden evdev, makefs, ministat, libfetch ĂŒbertragen.
    dd. Aus OpenBSD wurden die Aufrufe reallocarray(), timing_safe*(), freezero(), dup3(), recallocarray(), aligned_alloc(), explicit_bzero() in libc ĂŒbertragen. Der Compiler gcc-8 wird standardmĂ€ĂŸig anstelle von gcc-5 fĂŒr den Build verwendet.

Quelle: opennet.ru

Kaufen Sie zuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz, VPS VDS-Servern đŸ”„ Kaufen Sie zuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz, VPS VDS-Servern | ProHoster