kiadás , egy hibrid kernelű operációs rendszer, 2003-ban hoztak létre a FreeBSD 4.x ág alternatív fejlesztésének céljából. A DragonFly BSD jellemzői közé tartozik a elosztott verziós fájlrendszer , a rendszer "virtuális" magjainak betöltése felhasználói folyamatokként, az adatok és a fájlrendszer metaadatai SSD-meghajtón való gyorsítótárazásának lehetősége, a kontextust figyelembe vevő változó szimbolikus hivatkozások, a folyamatok fagyasztásának lehetősége a disk állapotuk megőrzésével, egy hibrid kernel, amely könnyű szálakat (LWKT) használ.
Fő , amelyeket hozzáadtak a DragonFlyBSD 5.6-hoz:
- Frissítették a virtuális memória kezelő rendszert. Számos, a virtuális memóriával és a PMAP-pal kapcsolatos alrendszert újraírtak.
Számos helyen megszabadultak a zárlatoktól, többek között az m_page_wakeup, vm_hold és vm_unhold függvényekben. Növelték a processzorkészlet-használat hatékonyságát az VM objektumok CPU magok közötti migrációjának csökkentésével és a kivételek (page-fault) feldolgozására fordított költségek csökkentésével a megosztott memória területeken. Fejlesztették a memóriaoldal-allokáció algoritmusát. Elhárították a vm_page_alloc() függvény működésekor fellépő késéseket. Hozzáadták az API vm_page_hash*(), amely lehetővé teszi a zárlat nélküli lekérdezéseket.Ennek eredményeként jelentősen . Például,
a buildkernel tesztben a magoldali műveletek végrehajtási ideje 40%-kal csökkent. A throughput 7%-kal nőtt a Haswell családú CPU-k, 14%-kal pedig a Xeon-ok esetében. A SELF-EXEC S/DI tesztben a teljesítménynövekedés 23% a Haswell és 18% a Xeon esetében a korábbi kiadáshoz képest. A SELF-EXEC S/SH tesztben ez megfelelően 28% és 71%, a SELF-EXEC D/DI esetén 23% és 242% (a többszálú működés javításának köszönhetően), a SELF-EXEC D/SH esetében pedig 24% és 234%, a FAULTZF tesztben 17% és 14%, a DOCOMP-ban 22% és 42%;
a NATIVEKERNEL tesztben 5.1% és 8.1%;
Jelentősen frissítették a DRM illesztőprogramot és a videomemória-kezelő rendszert (TTM) az AMD grafikus kártyákhoz. Hozzáadták az új Ryzen APU-k támogatását. Fejlesztették az UEFI keretbuffer támogatását. A radeon/ttm esetében megszüntették a teljesítményre negatívan ható kölcsönös zárlatot. Átstrukturálták a késleltetések beállítását a betöltési folyamat során, hogy elkerüljék a konfliktust az i915 illesztőprogram és az X-szerver között. Hozzáadták a DRM_IOCTL_GET_PCIINFO hívást a mesa/libdrm támogatás javítása érdekében. Számos hibát és hiányosságot javítottak; - Újraírták a HAMMER2 fájlrendszer szinkronizáló kódját, ami lehetővé tette a fájlrendszer teljesítményének jelentős növelését. Emellett fokozódott a soros írási műveletek teljesítménye.
- A HAMMER2 fájlrendszer szinkronizáló kódját újraírták, ami jelentősen javította a fájlrendszer teljesítményét. Ezenkívül a soros írás műveleteinek teljesítménye is növekedett.
A hibaállóság növelése érdekében hozzáadták a függőségek nyomon követését, hogy elkerüljék a könyvtárak/fájlok felosztását a létrehozási, átnevezési vagy törlési műveletek végrehajtása során. Átdolgozták a pillanatkép-sebesség csökkentése érdekében végzett kódot, és garantálták a pillanatkép következetességét. Javították a párhuzamos írási műveletek és a lemezre való cache ürítés (flush) kezelését. Fejlesztették az umount művelet megvalósítását. Növelték az integritás megsértéséről szóló üzenetek tájékoztatását (CRC hiba).A HAMMER2-t alapértelmezett gyökérfájlrendszerként ajánlják. A klaszterezés támogatása jelenleg nem elérhető. A HAMMER2 fájlrendszer kiemelkedik az olyan funkcióival, mint a külön montálható pillanatképek, írásra elérhető pillanatképek, könyvtárszi kvóták, inkrementális tükrözés, különböző adatkompressziós algoritmusok támogatása, multi-master tükrözés, ami lehetővé teszi az adatok több hosztra történő megosztását;
- Hozzáadva az FUSE alrendszer kezdeti támogatása a felhasználói térbeli fájlrendszerek létrehozásához;
- A PF csomagszűrő teljesítménye növelve lett a többmagos rendszereken;
- Támogatás bevezetve a SMAP (Supervisor Mode Access Prevention) és SMEP (Supervisor Mode Execution Prevention) védelmi mechanizmusokhoz, amennyiben a CPU-n ez támogatott. A SMAP megakadályozza az adatokhoz való hozzáférést a felhasználói térből privilegizált kód által, amely a kernel szinten fut. A SMEP csak kernel szintről nem engedi a felhasználói szintű kód végrehajtását, ami lehetővé teszi sok kernel sebezhetőség kihasználásának blokkolását (a shell-kód nem fog végrehajtódni, mivel a felhasználói térben van);
- Hozzáadva a kód a MDS (Microarchitectural Data Sampling) osztály letiltásához az Intel processzorokban. A rendszer védtelenségének ellenőrzésére a SysFS változó „/sys/devices/system/cpu/vulnerabilities/mds” használható. MDS (Microarchitectural Data Sampling) osztályú sebezhetőség az Intel processzorokban. A működéshez frissített mikrokód szükséges. Alapértelmezés szerint a védelem ki van kapcsolva, és a ‘sysctl machdep.mds_mitigation=MD_CLEAR’ parancs segítségével lehet aktiválni. Az aktiválás további 250ns várakozást okoz a felhasználói tér és a kernel közötti kontextusváltáskor;
- A kernel alapértelmezés szerint Spectre támadások ellen védett retpoline védelemmel van összerakva.
- Sok alap rendszerbeli eszköz átállt a LibreSSL használatára;
- Frissítve lettek a külső komponensek verziói, beleértve az xz 5.2.4,
libarchive 3.3.3, libressl 2.9.1, openssh 8.0, ldns 1.7.0,
libedit 2019-03-24. Az evdev, makefs, ministat, libfetch átvéve a FreeBSD-ből,
dd. Az OpenBSD-ből a libc-be átkerült a reallocarray(), timing_safe*(), freezero(), dup3(), recallocarray(), aligned_alloc(), explicit_bzero() hívások. Alapértelmezés szerint a gcc-5 helyett a gcc-8 fordítót használják a fordításhoz.
Forrás: opennet.ru
