Po sedmi měsících vývoje byl zveřejněn release DragonFlyBSD 6.2, operačního systému s hybridním jádrem, vytvořeného v roce 2003 za účelem alternativního rozvoje větve FreeBSD 4.x. Mezi charakteristiky DragonFly BSD patří distribuovaný verzovací souborový systém HAMMER, podpora zavádění "virtuálních" jader systému jako uživatelských procesů, možnost cachování dat a meta-dat FS na SSD úložištích, variabilní symbolické odkazy, které zohledňují kontext, možnost pozastavení procesů se zachováním jejich stavu na disku a hybridní jádro, které využívá lehké vlákna (LWKT).
Hlavní vylepšení přidaná do DragonFlyBSD 6.2:
- Z NetBSD byl přenesen hypervisor NVMM, který podporuje hardwarové mechanismy virtualizace SVM pro CPU AMD a VMX pro CPU Intel. V NVMM se na úrovni jádra provádí pouze minimální potřebná sada obalů kolem hardwarových mechanismů virtualizace, zatímco veškerý kód emulace hardwaru běží ve uživatelském prostoru. Pro úkoly jako je vytváření virtuálních strojů, přidělování paměti a přidělování VCPU se používá nástroj založený na knihovně libnvmm, a pro spouštění hostitelských systémů je určen balíček qemu-nvmm.
- Pokračuje práce na souborovém systému HAMMER2, který se vyznačuje funkcemi, jako je samostatné montování snapshotů, writeable snapshoty, kvóty na úrovni adresářů, inkrementální zrcadlení, podpora různých algoritmů komprese dat, multi-master zrcadlení s distribucí dat na více hostitelů. V nové verzi byla implementována podpora příkazu growfs, který umožňuje měnit velikost existujícího oddílu HAMMER2. Součástí je experimentální podpora komponenty xdisk, která umožňuje montovat oddíly HAMMER2 z vzdálených systémů.
- Složky rozhraní DRM (Direct Rendering Manager), spravující paměť videa TTM a ovladač amdgpu byly synchronizovány s jádrem Linux 4.19, což umožnilo podporu čipů AMD až do APU 3400G. Ovladač drm/i915 pro GPU Intel byl aktualizován, přičemž se objevila podpora GPU Whiskey Lake a problém s haváriemi při spuštění byl vyřešen. Ovladač Radeon byl převeden na používání správce videopaměti TTM.
- Ve volání poll byla implementována podpora události POLLHUP, která se vrací při uzavření druhého konce neiniciovaného kanálu nebo FIFO.
- V jádru byly značně vylepšeny algoritmy práce s paměťovými stránkami, zvýšila se efektivita při výběru stránek pro přesun do swapu a výrazně se zlepšilo chování náročných aplikací, jako jsou prohlížeče, na systémech s malým množstvím paměti.
- Bylo změněno výpočty hodnoty maxvnodes, aby se snížilo paměťové vytížení jádra, jelikož ukládání příliš velkého počtu vnode může snížit efektivitu, například pokud jsou bloky dat navíc ukládány na úrovni blokového zařízení.
- Do nástroje fstyp byla přidána podpora souborového systému BeFS. Z utilit makefs z FreeBSD byla přenesena podpora FS FAT. Byla vylepšena funkčnost utilit fsck a fdisk. Opraveny byly chyby v kódu ext2fs a msdosfs.
- Byl přidán ioctl SIOCGHWADDR pro získání hardwarové adresy síťového rozhraní.
- Do ipfw3nat byla přidána podpora NAT pro pakety ICMP, implementovaná prostřednictvím opakovaného použití icmp idport.
- Do ovladače ichsmb byla přidána podpora kontrolérů Intel ICH SMBus pro čipy Cannonlake, Cometlake, Tigerlake a Geminilake.
- Generování souborů initrd bylo převedeno z používání vn na makefs.
- Do standardní knihovny libc byly přidány funkce getentropy(), clearenv() a mkdirat(). Byla vylepšena kompatibilita implementace shm_open() a /var/run/shm s jinými systémy. Byly přidány platformě specifické typy __double_t a __float_t. V libdmsg byly navráceny funkce související se šifrováním. Zlepšila se výkon pthreads.
- Do utilit dsynth, určené pro místní sestavení a údržbu binárních repozitářů DPort, byla přidána možnost „-M“ a proměnná PKG_COMPRESSION_FORMAT. Byla zajištěna podpora správce balíčků pkg 1.17 a druhé verze metadat pkg.
- Do sestavy byly importovány PAM-knihovna OpenPAM Tabebuia, nástroj pro kontrolu hesel passwdqc 2.0.2, balíčky mandoc 1.14.6, OpenSSH 8.8p1, dhcpcd 9.4.1 a file 5.40.
- Byla odstraněna lokálně exploatovatelná zranitelnost v jádru, která umožňovala uživateli zvýšit své oprávnění v systému (CVE nebylo oznámeno).
- Byl odstraněn ovladač ndis, který umožňoval používat binární NDIS ovladače z Windows.
- Byla ukončena podpora formátu spustitelných souborů a.out.
Zdroj: opennet.ru
