udgivelse , et operativsystem med hybridkerne, i 2003 med det formål at tilbyde en alternativ udvikling af FreeBSD 4.x-grenen. Blandt kendetegnene ved DragonFly BSD kan nævnes det distribuerede versionskontrolsystem , understøttelse af indlæsning af "virtuelle" kerner som brugerprocesser, mulighed for caching af data og metadata for FS på SSD-lagringsenheder, kontekstrelevante symboliske links, mulighed for at fryse processer mens deres tilstand gemmes på disk, en hybridkerne, der bruger letvægtstråde (LWKT).
Vigtige , tilføjet i DragonFlyBSD 5.6:
- Systemet til styring af virtuel hukommelse er blevet opgraderet. Mange af subsystemerne relateret til virtuel hukommelse og PMAP er blevet omskrevet.
I mange steder er koden blevet fri for låsninger, herunder i funktionerne m_page_wakeup, vm_hold og vm_unhold. Effektiviteten af processor cache er forbedret ved at reducere migrationen af VM-objekter mellem CPU-kerner og ved at minimere overhead ved behandling af undtagelser (page-fault) for delte hukommelsesområder. Algoritmen til tildeling af hukommelsessider er forbedret. Der er elimineret forsinkelser i funktionen vm_page_alloc(). API'en vm_page_hash*() er blevet tilføjet, som muliggør adgang uden låsninger.Som resultater er det lykkedes at mærkbart . For eksempel,
i buildkernel-testen er udførelsestiden for kerneoperationer reduceret med 40%. Kapaciteten er steget med 7% ved brug af Haswell CPU-familien og med 14% for Xeon. I SELF-EXEC S/DI-testen sammenlignet med den tidligere version er der registreret et ydeevneforbedring på 23% for Haswell og 18% for Xeon. I testen
SELF-EXEC S/SH er forbedringerne henholdsvis 28% og 71%, i SELF-EXEC D/DI — 23% og 242% (på grund af forbedret multitrådsydelse), i SELF-EXEC D/SH på 24% og 234%, i FAULTZF på 17% og 14%, i DOCOMP på 22% og 42%,
i NATIVEKERNEL på 5.1% og 8.1%; - DRM-driveren og TTM-hukommelsesstyringsmodulet for AMD-grafikkort er blevet betydeligt opdateret. Understøttelse af nye APU Ryzen er blevet tilføjet. Understøttelsen af UEFI framebuffer er forbedret. I radeon/ttm er en negativt påvirkende gensidig låsning blevet elimineret. Load-timing er blevet refaktoreret for at undgå konflikter mellem i915-driveren og X-serveren. DRM_IOCTL_GET_PCIINFO er blevet tilføjet for at forbedre understøttelsen af mesa/libdrm. Mange fejl og mangler er blevet udbedret;
- Koden til synkronisering i HAMMER2-filsystemet er blevet omskrevet, hvilket har betydet en betydelig forbedring af ydeevnen for dette FS. Desuden er ydeevnen ved sekventiel skrivning blevet forbedret.
For increased crash resilience, dependency tracking has been added to prevent the splitting of directories/files during create, rename, or delete operations. The snapshot handling code has been reworked to reduce delays and ensure snapshot consistency. Improved handling of concurrent write operations and cache flushing to disk. Enhanced implementation of the umount operation. Increased informativeness of integrity violation messages (CRC error).HAMMER2 is recommended as the default root file system. Clustering support is currently unavailable. The HAMMER2 file system is notable for features such as separate mounting of snapshots, writable snapshots, directory-level quotas, incremental mirroring, support for various data compression algorithms, and multi-master mirroring with data distribution across multiple hosts.
- Initial support for the FUSE subsystem for creating file systems in user space has been added.
- Performance of the PF packet filter on multi-core systems has been increased.
- Support for SMAP (Supervisor Mode Access Prevention) and SMEP (Supervisor Mode Execution Prevention) protection mechanisms has been implemented where supported by the CPU. SMAP prevents privileged code running in kernel mode from accessing user space data. SMEP stops transitions from kernel mode to executing user-level code, which helps block the exploitation of many kernel vulnerabilities (shell code will not execute as it resides in user space).
- Kode til at blokere of the MDS (Microarchitectural Data Sampling) class in Intel processors. Updated microcode is required for operation. By default, protection is disabled and can be enabled via 'sysctl machdep.mds_mitigation=MD_CLEAR'. Enabling it introduces an additional delay of around 250ns during context switching between user space and kernel.
- The kernel is built by default with retpoline protection against Spectre attacks.
- Many utilities from the base system have been transitioned to use LibreSSL.
- Updated versions of third-party components, including xz 5.2.4,
libarchive 3.3.3, libressl 2.9.1, openssh 8.0, ldns 1.7.0,
libedit 2019-03-24. Components evdev, makefs, ministat, and libfetch have been transferred from FreeBSD.
Fra OpenBSD er systemopkald som reallocarray(), timing_safe*(), freezero(), dup3(), recallocarray(), aligned_alloc(), explicit_bzero() blevet overført til libc. Som standard bruges gcc-8 i stedet for gcc-5 til opbygning.
Kilde: opennet.ru
