izdanje , operacijski sistem s hibridnim jedrom, leta 2003 z namenom alternativnega razvoja veje FreeBSD 4.x. Med značilnostmi DragonFly BSD izstopa razdeljen sistem za različice datotek , podpora nalaganju "virtualnih" jeder sistema kot uporabniških procesov, možnost predpomnjenja podatkov in meta-podatkov FS na SSD-jih, upoštevanje konteksta variabilnih simbolnih povezav, možnost zamrznitve procesov z ohranjanjem njihovega stanja na disku, hibridno jedro, ki uporablja lahke niti (LWKT).
Glavne , dodani v DragonFlyBSD 5.6:
- Izvedena je bila modernizacija sistema upravljanja z virtualno pomnilnikom. Mnoge pod sisteme, povezane z virtualno pomnilnikom in PMAP, so bile ponovno napisane.
V mnogih mestih je bil koda očiščena zaklepanju, vključno v funkcijah m_page_wakeup, vm_hold in vm_unhold. Povečana je bila učinkovitost uporabe procesorja s skrajšanjem migracij objektov VM med jedri CPU in zmanjšanjem prevelikih stroškov pri obravnavanju izjem (page-fault) za skupne spremenljivke pomnilnika. Izboljšan je bil algoritem za dodeljevanje strani pomnilnika. Odpravljene so bile zamude pri delovanju funkcije vm_page_alloc(). Dodan je API vm_page_hash*(), ki omogoča poizvedbe brez zaklepanja.Zato je bilo mogoče znatno . Na primer,
v testu buildkernel se je čas izvajanja operacij na strani jedra skrajšal za 40%. Prepustnost se je povečala za 7% pri uporabi CPU družine Haswell in za 14% za Xeon. V testu SELF-EXEC S/DI v primerjavi s prejšnjo izdajo je zaznati povečanje zmogljivosti za 23% za Haswell in 18% za Xeon. V testu
SELF-EXEC S/SH ustrezno 28% in 71%, v SELF-EXEC D/DI — 23% in 242% (zaradi izboljšanja delovanja 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%; - Draiver DRM in upravljalnik pomnilnika TTM za grafične kartice AMD je bil znatno posodobljen. Dodana je podpora za nove APU Ryzen. Izboljšana je podpora za framebuffer UEFI. V radeon/ttm je bila odpravljena negativna blokada, ki je vplivala na zmogljivost. Izvedena je bila rafaktorizacija postavljanja zamud v postopku nalaganja, da se prepreči konflikt med drajverjem i915 in X-strežnikom. Dodan je klic DRM_IOCTL_GET_PCIINFO za izboljšanje podpore mesa/libdrm. Odpravljene so številne napake in pomanjkljivosti;
- Koda za sinhronizaciju u sistemu datoteka HAMMER2 je prepisan, što je značajno poboljšalo performanse ovog sistema datoteka. Takođe je povećana brzina operacija sekvencijalnog pisanja.
Kako bi se povećala otpornost na padove, dodato je praćenje zavisnosti za isključivanje deljenja direktorijuma/datoteka tokom izvođenja operacija kreiranja, preimenovanja ili brisanja. Ponovno je obrađen kod za rad sa snapshotovima radi smanjenja latencija i garantovanja doslednosti snapshotova. Unapređena je obrada simultanih operacija pisanja i ispisa keša na disk (flush). Poboljšana je implementacija operacije umount. Povećana je informativnost poruka o kršenju celovitosti (CRC error).HAMMER2 se preporučuje kao podrazumevani korenski sistem datoteka. Podrška za klasterizaciju trenutno nije dostupna. Sistem datoteka HAMMER2 odlikuje se funkcijama kao što su odvojeno montiranje snapshotova, snapshotovi dostupni za pisanje, kvote na nivou direktorijuma, inkrementalno zrcaljenje, podrška za različite algoritme kompresije podataka i multi-master zrcaljenje sa raspodelom podataka na više hostova;
- Dodata je osnovna podrška za FUSE podsistem za kreiranje sistema datoteka u korisničkom prostoru;
- Povećane su performanse vektorskog filtera PF na višekorednim sistemima;
- Implementirana je podrška za mehanizme zaštite SMAP (Supervisor Mode Access Prevention) i SMEP (Supervisor Mode Execution Prevention) uz njihovu podršku u CPU-u. SMAP omogućava blokiranje pristupa podacima u korisničkom prostoru iz privilegovanog koda koji se izvršava na nivou jezgra. SMEP onemogućava prelazak iz režima jezgra u izvršavanje koda koji se nalazi na korisničkom nivou, što blokira većinu exploita u jezgru (shell-kod neće biti izvršen, jer se nalazi u korisničkom prostoru);
- Dodati su kodovi za blokiranje MDS (Microarchitectural Data Sampling) klase u Intel procesorima. Za rad je potrebno ažurirati mikrokod. Podrazumevano je zaštita isključena i može se uključiti putem ‘sysctl machdep.mds_mitigation=MD_CLEAR’. Uključivanje donosi dodatnu latenciju od oko 250ns prilikom prebacivanja konteksta između korisničkog prostora i jezgra;
- Jezgro je po defaultu sastavljeno sa retpoline zaštitom od Spectre napada.
- Številne pripomočke iz osnovnega sistema so prevedli na uporabo LibreSSL;
- Posodobljene različice zunanjih komponent, vključno z xz 5.2.4,
libarchive 3.3.3, libressl 2.9.1, openssh 8.0, ldns 1.7.0,
libedit 2019-03-24. Iz FreeBSD so prenesli evdev, makefs, ministat, libfetch,
dd. Iz OpenBSD so v libc prenesli klice reallocarray(), timing_safe*(), freezero(), dup3(), recallocarray(), aligned_alloc(), explicit_bzero(). Privzeto se za sestavljanje uporablja namesto gcc-5 prevajalnik gcc-8.
Izvor: opennet.ru
