sprostitev , operacijski sistem s hibridnim jedrom, leta 2003 z namenom zagotavljanja alternativne razvojne veje za FreeBSD 4.x. Med značilnostmi DragonFly BSD je njegov porazdeljen različicovni datotečni sistem. , podpora za nalaganje "virtualnih" sistemskih jeder kot uporabniških procesov, možnost predpomnjenja podatkov in metapodatkov datotečnega sistema na SSD pogonih, kontekstno ozaveščene različice simbolnih povezav, možnost zamrznitve procesov ob ohranjanju njihovega stanja na disku, hibridno jedro z uporabo lahkih niti (LWKT).
Glavni , dodano v DragonFlyBSD 5.6:
- Sistem za upravljanje virtualnega pomnilnika je bil posodobljen. Številni podsistemi, povezani z virtualnim pomnilnikom in PMAP, so bili prepisani.
Koda je bila na mnogih mestih deblokirana, vključno s funkcijami m_page_wakeup, vm_hold in vm_unhold. Učinkovitost predpomnilnika CPE je bila izboljšana z zmanjšanjem migracije objektov VM med jedri CPE in zmanjšanjem režijskih stroškov obravnave napak strani za območja skupnega pomnilnika. Izboljšan je bil algoritem za dodeljevanje strani pomnilnika. Odpravljene so bile zamude v funkciji vm_page_alloc(). Dodan je bil API vm_page_hash*(), ki omogoča izbire brez zaklepanja.Posledično je bilo mogoče opazno . Na primer
V testu buildkernel se je čas izvajanja na strani jedra zmanjšal za 40 %. Pasovna širina se je pri uporabi procesorjev Haswell povečala za 7 %, pri Xeonu pa za 14 %. V testu SELF-EXEC S/DI se je zmogljivost v primerjavi s prejšnjo izdajo povečala za 23 % pri Haswellu in za 18 % pri Xeonu.
SELF-EXEC S/SH za 28 % oziroma 71 %, v SELF-EXEC D/DI - 23 % in 242 % (zaradi izboljšane večnitnosti), v SELF-EXEC D/SH za 24 % in 234 %, v FAULTZF za 17 % in 14 %, v DOCOMP za 22 % in 42 %,
v NATIVEKERNEL za 5.1 % in 8.1 %; - Gonilnik DRM in upravitelj video pomnilnika TTM za grafične kartice AMD sta bila bistveno posodobljena. Dodana je bila podpora za nove procesorje Ryzen. Izboljšana je bila podpora za medpomnilnik okvirjev UEFI. V radeon/ttm je bila odpravljena zastoj, ki je negativno vplival na zmogljivost. Nastavitev zakasnitve zagona je bila preoblikovana, da se preprečijo konflikti med gonilnikom i915 in strežnikom X. Dodan je bil klic DRM_IOCTL_GET_PCIINFO za izboljšanje podpore za mesa/libdrm. Odpravljenih je bilo več hroščev in napak.
- Sinhronizacijska koda v datotečnem sistemu HAMMER2 je bila prepisana, kar je znatno izboljšalo delovanje tega datotečnega sistema. Izboljšana je bila tudi zmogljivost zaporednega pisanja.
Za izboljšanje odpornosti proti zrušitvam je bilo dodano sledenje odvisnostim, ki preprečuje delitev imenikov/datotek med ustvarjanjem, preimenovanjem ali brisanjem. Obdelava posnetkov je bila preoblikovana, da se zmanjša zakasnitev in zagotovi doslednost posnetkov. Izboljšana je bila obravnava hkratnega pisanja in praznjenja predpomnilnika. Izboljšana je bila operacija umount. Sporočila o napakah zaradi kršitve integritete (CRC) so postala bolj informativna.HAMMER2 je priporočen kot privzeti korenski datotečni sistem. Podpora za gruče še ni na voljo. Funkcije datotečnega sistema HAMMER2 vključujejo ločeno pritrjevanje posnetkov, posnetke z možnostjo zapisovanja, kvote na ravni imenika, inkrementalno zrcaljenje, podporo za različne algoritme stiskanja podatkov in zrcaljenje več glavnih strežnikov z distribucijo podatkov med več gostitelji.
- Dodana začetna podpora za podsistem FUSE za ustvarjanje datotečnih sistemov v uporabniškem prostoru;
- Izboljšana zmogljivost filtra paketov PF na večjedrnih sistemih;
- Podpora za zaščitna mehanizma SMAP (Supervisor Mode Access Prevention) in SMEP (Supervisor Mode Execution Prevention) je implementirana, kadar ju podpira CPU. SMAP blokira dostop do podatkov uporabniškega prostora za privilegirano kodo, ki se izvaja na ravni jedra. SMEP preprečuje prehod iz načina jedra v izvajanje kode na ravni uporabnika, kar pomaga blokirati izkoriščanje številnih ranljivosti jedra (koda lupine se ne bo izvedla, ker se nahaja v uporabniškem prostoru).
- Dodana koda za blokiranje Razred MDS (mikroarhitekturno vzorčenje podatkov) v Intelovih procesorjih. Ta funkcija zahteva posodobljeno mikrokodo. Zaščita je privzeto onemogočena in jo je mogoče omogočiti z uporabo 'sysctl machdep.mds_mitigation=MD_CLEAR'. Omogočanje te funkcije uvede dodatno 250 ns zakasnitev pri preklapljanju konteksta med uporabniškim prostorom in prostorom jedra.
- Jedro je privzeto prevedeno z zaščito retpoline pred napadi Spectre.
- Številni pripomočki iz osnovnega sistema so bili pretvorjeni za uporabo LibreSSL;
- Posodobljene različice komponent drugih proizvajalcev, vključno z xz 5.2.4,
libarchive 3.3.3, libressl 2.9.1, openssh 8.0, ldns 1.7.0,
libedit 24. 03. 2019. evdev, makefs, ministat in libfetch so bili preneseni iz FreeBSD.
dd. Klici funkcij reallocarray(), timing_safe*(), freezero(), dup3(), recallocaray(), aligned_alloc() in explicit_bzero() so bili preneseni iz OpenBSD v libc. Privzeto se za gradnjo namesto gcc-5 uporablja prevajalnik gcc-8.
Vir: opennet.ru
