uvoľnenie , operačný systém s hybridným jadrom, v roku 2003 za účelom alternatívneho rozvoja vetvy FreeBSD 4.x. Medzi funkciami DragonFly BSD môžeme vyzdvihnúť distribuovaný verzovaný súborový systém , podpora načítania „virtuálnych“ systémových jadier ako používateľských procesov, možnosť ukladať do vyrovnávacej pamäte FS dáta a metadáta na SSD disky, kontextovo citlivé varianty symbolických odkazov, možnosť zmraziť procesy pri ukladaní ich stavu na disk, hybridné jadro využívajúce ľahké vlákna (LWKT) .
Hlavné pridané v DragonFlyBSD 5.8:
- Hlavné zloženie zahŕňa užitočnosť , určený na lokálne zostavovanie a údržbu vašich vlastných binárnych úložísk DPort. Paralelizácia zostavy ľubovoľného počtu portov je podporovaná, berúc do úvahy strom závislostí. V rámci prípravy na nové vydanie vykonala spoločnosť DPort aj veľké množstvo zmien zameraných na urýchlenie zostavovania niekoľkých závislých balíkov.
- libc implementuje účinný mechanizmus maskovania signálu, ktorý umožňuje chrániť malloc*() a podobné funkcie pred problémami spôsobenými ich prerušením signálom. Pre krátkodobé blokovanie a odblokovanie signálov sú navrhnuté funkcie sigblockall() a sigunblockall(), ktoré fungujú bez systémových volaní. Okrem toho libc prispôsobil funkciu strtok() na použitie vo viacvláknových aplikáciách, pridal konštanty TABDLY, TAB0, TAB3 a funkciu __errno_location na zlepšenie podpory dports.
- Komponenty rozhrania DRM (Direct Rendering Manager) sú synchronizované s jadrom Linux 4.9 s portom niektorých funkcií z jadra 4.12 zameraných na zlepšenie podpory Waylandu.
Ovládač drm/i915 pre grafické karty Intel je synchronizovaný s jadrom. Linux Verzia 4.8.17 s portovaným kódom z jadra 5.4 na podporu nových čipov (Skylake, Coffelake, Amber Lake, Whiskey Lake a Comet Lake). Ovládač drm/radeon pre grafické karty AMD je teraz synchronizovaný s jadrom. Linux 4.9. - Algoritmy stránkovania virtuálnej pamäte boli výrazne vylepšené, čo nám umožňuje eliminovať alebo minimalizovať problémy s odozvou používateľského rozhrania v prípade nedostatku pamäte. Problémy so zamrznutím prehliadača Chrome/Chromium v dôsledku nedostatku systémovej pamäte boli vyriešené.
- Vylepšené škálovanie jadra na systémoch s veľkým počtom procesorových jadier. Znížený čas vyžiadania stránky virtuálnej pamäte. Znížený počet SMP pri nedostatku pamäte. Zvýšená efektivita volania „open(... O_RDWR)“.
- Generátor pseudonáhodných čísel v jadre bol prepracovaný. Ovládač RDRAND je prispôsobený na akumuláciu entropie zo všetkých CPU. Znížená intenzita
a veľkosť zdroja RDRAND, ktorý predtým zaberal 2-3 % času procesora počas nečinnosti. - Pridané nové systémové volania realpath, getrandom a lwp_getname (umožňujú implementáciu pthread_get_name_np).
- Pridaná podpora pre ochranné mechanizmy SMAP (Supervisor Mode Access Prevention) a SMEP (Supervisor Mode Execution Prevention). SMAP vám umožňuje blokovať prístup k údajom v používateľskom priestore z privilegovaného kódu spusteného na úrovni jadra. SMEP neumožňuje prechod z režimu jadra na vykonávanie kódu umiestneného na úrovni používateľa, čo umožňuje zablokovať využívanie mnohých zraniteľností v jadre (kód shellu sa nespustí, pretože je v používateľskom priestore);
- Prepracované premenné sysctl na konfiguráciu väzenia. Pridaná možnosť pripojiť nullf a tmpfs z väzenia.
- Pridaný núdzový režim pre súborový systém HAMMER2, ktorý je možné použiť počas obnovy po zlyhaní. V tomto režime je možné zničiť snímky pri lokálnej aktualizácii inode (umožňuje mazať súbory a adresáre pri nedostatku voľného miesta na disku, keď nie je možné použiť mechanizmus kopírovania pri zápise). Výrazne zlepšený výkon prepracovaním podpory odosielania vlákien v HAMMER2. Proces preplachovania pufrov sa výrazne zlepšil.
- Vylepšená spoľahlivosť a výkon TMPFS. Zvýšená prevádzková efektivita pri nedostatku voľnej pamäte v systéme.
- Sieťový zásobník IPv4 teraz podporuje /31 prefixov ().
Tap má vylepšené spracovanie SIOCSIFMTU ioctl na podporu MTU > 1500. Pridaná podpora pre SIOCSIFINFO_IN6 a SO_RERROR. - Ovládač iwm je synchronizovaný s FreeBSD s podporou bezdrôtových čipov Intel (pridaná podpora pre iwm-9000 a iwm-9260).
- Pridaná kompatibilita s Linux Funkcie basename() a dirname() na zlepšenie kompatibility v portoch.
- Presunuté fsck_msdosfs, sys/ttydefaults.h, AF_INET / AF_INET6 z FreeBSD do libc/getaddrinfo(), calendar(1), rcorder-visualize.sh. Funkcie z math.h boli presunuté z OpenBSD.
- Aktualizované verzie komponentov tretích strán, vrátane Binutils 2.34, Openresolv 3.9.2, DHCPCD 8.1.3. Predvolený kompilátor je gcc-8.
Zdroj: opennet.ru
