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.8:
- I hovedpakken er der inkluderet et værktøj , der er beregnet til lokal opbygning og vedligeholdelse af egne binære DPort-repositorier. Der understøttes parallelisering af opbygning af et vilkårligt antal porte, og træet af afhængigheder tages i betragtning. Ved forberedelse af en ny udgave i DPort er der også blevet tilføjet mange ændringer, der sigter mod at fremskynde opbygningen af flere afhængige pakker.
- I libc er der implementeret en effektiv mekanisme til signalmaskering, hvilket har beskyttet malloc*() og lignende funktioner mod problemer som følge af signalafbrydelser. Der er foreslået funktioner sigblockall() og sigunblockall() til kortvarig blokering og afblokering af signaler, som fungerer uden systemopkald. Desuden er funktionen strtok() i libc tilpasset til brug i multitrådede applikationer, og der er tilføjet konstanterne TABDLY, TAB0, TAB3 og funktionen __errno_location for at forbedre understøttelsen af dports.
- DRM (Direct Rendering Manager)-komponenter er synkroniseret med Linux-kernen 4.9 med portering af specifikke funktioner fra kernen 4.12, der sigter mod at forbedre understøttelsen af Wayland.
drm/i915-driveren til Intel GPU'er er synkroniseret med Linux-kernen 4.8.17, med overførsel af kode fra kernen 5.4 til støtte for nye chippere (Skylake, Coffeelake, Amber Lake, Whiskey Lake og Comet Lake). drm/radeon-driveren til AMD-grafikkort er synkroniseret med Linux-kernen 4.9. - Algoritmerne til udveksling af virtuel hukommelse er betydeligt forbedret, hvilket har elimineret eller minimeret problemer med brugergrænsefladens reaktivitet ved hukommelsesmangel. Problemer med hangs i Chrome/Chromium ved utilstrækkelig systemhukommelse er blevet løst.
- Forbedret skalering af kernen på systemer med et stort antal processorkerner. Reduceret ventetid for anmodninger om virtuel hukommelse. Reduceret SMP-konkurrence i situationer med utilstrækkelig hukommelse. Øget effektivitet ved opkald af "open(… O_RDWR)".
- Generatoren for pseudofaldende tal i kernen er blevet omarbejdet. RDRAND-driveren er tilpasset til at samle entropi fra alle CPU'er. Intensiteten
og størrelsen af RDRAND-fodring er reduceret, som tidligere tog 2-3% af CPU-tiden under inaktivitet. - Nye systemopkald realpath, getrandom og lwp_getname (muliggjorde implementeringen af pthread_get_name_np) er blevet tilføjet.
- Understøttelse af beskyttelsesmekanismerne SMAP (Supervisor Mode Access Prevention) og SMEP (Supervisor Mode Execution Prevention) er blevet tilføjet. SMAP gør det muligt at blokere adgang til data i brugerrum fra privilegeret kode, der kører i kernen. SMEP forhindrer overgangen fra kernemodus til udførelse af kode, der er på brugerniveau, hvilket blokerer for udnyttelse af mange sårbarheder i kernen (skadelig kode vil ikke blive udført, da den er i brugerrum);
- Sysctl-variablerne til konfiguration af Jail er blevet omarbejdet. Muligheden for at montere nullfs og tmpfs fra Jail er blevet tilføjet.
- En nødtilstand for filsystemet HAMMER2 er blevet tilføjet, som kan anvendes under genopretning efter fejlsituationer. I denne tilstand tillades ødelæggelse af snapshots ved opdatering af inode in-place (gør det muligt at slette filer og kataloger, når der ikke er ledig diskplads, når copy-on-write-mekanismen ikke længere kan anvendes). Ydelsen er betydeligt forbedret takket være omarbejdningen af understøttelsen af tråddispatch i HAMMER2. Proces for tømning af buffere (flush) er blevet betydeligt forbedret.
- Pålideligheden og ydeevnen af TMPFS er blevet forbedret. Effektiviteten under forhold med utilstrækkelig ledig hukommelse i systemet er blevet øget.
- I netværksstakken for IPv4 er understøttelsen af præfikser /31 implementeret ().
I tap er behandlingen af ioctl SIOCSIFMTU forbedret til understøttelse af MTU > 1500. Understøttelse af SIOCSIFINFO_IN6 og SO_RERROR er blevet tilføjet. - Driveren for iwm er blevet synkroniseret med FreeBSD til understøttelse af trådløse Intel-chips (understøttelse af iwm-9000 og iwm-9260 er blevet tilføjet).
- Linux-kompatible funktioner basename() og dirname() er blevet tilføjet for at forbedre kompatibiliteten i porter.
- fsck_msdosfs, sys/ttydefaults.h, AF_INET/AF_INET6 er blevet overført fra FreeBSD til libc/getaddrinfo(), calendar(1), rcorder-visualize.sh. Funktioner fra math.h er blevet overført fra OpenBSD.
- Opdaterede versioner af tredjepartskomponenter, herunder Binutils 2.34, Openresolv 3.9.2, DHCPCD 8.1.3. Standardkompilatoren er gcc-8.
Kilde: opennet.ru
