Пасля больш за год распрацоўкі апублікаваны рэліз DragonFlyBSD 6.0, аперацыйнай сістэмы з гібрыдным ядром, створанай у 2003 годзе з мэтай альтэрнатыўнага развіцця галінкі FreeBSD 4.x. З асаблівасцяў DragonFly BSD можна вылучыць размеркаваную версійную файлавую сістэму HAMMER, падтрымку загрузкі "віртуальных" ядраў сістэмы як карыстацкіх працэсаў, магчымасць кэшавання дадзеных і мета-дадзеных ФС на SSD-назапашвальніках, якія ўлічваюць кантэкст варыянтныя сімвалічныя спасылкі, магчымасць замарозкі працэсаў з захаваннем іх стану на дыску, гібрыднае ядро, якое выкарыстоўвае легкаважныя патокі (LWKT).
Асноўныя паляпшэнні, дададзеныя ў DragonFlyBSD 6.0:
- Мадэрнізаваная сістэма кэшавання ў віртуальнай файлавай сістэме (vfs_cache). Змена дазволіла падвысіць надзейнасць і павялічыць прадукцыйнасць файлавых сістэм. Палепшана кэшаванне поўных шляхоў пры дапамозе выкліку cache_fullpath().
- Значна палепшана ўтыліта dsynth, прызначаная для лакальнай зборкі і суправаджэння бінарных рэпазітароў DPort. У новай версіі з'явілася магчымасць відавочнага ўказання ports-mgmt/pkg для зборкі пакетаў, дададзена падтрымка алгарытму ZSTD, у камандзе 'prepare-system' забяспечана выдаленне састарэлых пакетаў, дададзена магчымасць выкарыстання ccache пры зборцы.
- Прадоўжана праца над файлавай сістэмай HAMMER2, якая характэрна такімі функцыямі, як асобнае мантаванне снапшотаў, даступныя на запіс снапшоты, квоты на ўзроўні дырэкторый, інкрыментальнае люстраванне, падтрымка розных алгарытмаў сціску дадзеных, multi-master люстраванне з размеркаваннем дадзеных на некалькі хост. У новым выпуску дададзеная пачатковая падтрымка мультыраздзелаў (multi-volume), якая дазваляе аб'яднаць у адну частку некалькі лакальных дыскаў (сеткавы рэжым multi-master пакуль не падтрымліваецца). Рэалізавана магчымасць павелічэння памеру часткі (дададзена каманда hammer2 growfs). Ухілены сур'ёзныя праблемы з дэдуплікацыяй.
- Значна падвышаная прадукцыйнасць файлавай сістэмы tmpfs. Дададзена ўтыліта mounttmpfs для спрашчэння размяшчэння /tmp і /var/run у tmpfs.
- Дададзена рэалізацыя файлавай сістэмы Ext2, у якой адсутнічае код пад ліцэнзіяй GPL.
- Унесены значныя змены ў сістэму віртуальнай памяці, у тым ліку выдаленая падтрымка MAP_VPAGETABLE mmap(), неабходная для працы vkernell (віртуальныя ядры, якія запускаюцца як карыстацкі працэс). У наступным выпуску плануецца вярнуць vkernel, перарабіўшы на базе HVM.
- Перароблена рэалізацыя выклікаў callout*().
- Палепшана падтрымка фрэймбуфера EFI.
- У драйвер sysmouse дададзена падтрымка evdev.
- Дададзеныя выклікі clock_nanosleep, fexecve, getaddrinfo і timeout. Рэалізавана падтрымка fcntl(F_GETPATH) і сцягоў IP_SENDSRCADDR і SO_PASSCRED.
- У ядро дададзена падсістэма kmalloc_obj, якая дазваляе зменшыць фрагментацыю памяці.
- З FreeBSD перанесена падтрымка драйвера amdsmn для падсістэмы SMN (System Management Network) працэсараў AMD.
- У devd забяспечана аўтаматычнае распазнанне бесправадных адаптараў і стварэнне для іх сеткавых інтэрфейсаў wlanX.
- Тып sysclock_t пераведзены з 32- на 64-бітнае значэнне.
- Аптымізаваны ланцужок запуску сістэмных выклікаў.
- Аптымізавана праца ва ўмовах недахопу памяці.
- Значна перапрацаваны механізм ізаляваных акружэнняў Jail. Праведзена рэструктурызацыя sysctl-параметраў jail.*.
- Дададзена падтрымка Ethernet-кантролераў Intel I219 і пашырана падтрымка чыпаў Realtek. У драйвер bnx дададзеная падтрымка чыпаў Broadcom NetXtreme 57764, 57767 і 57787.
- У сеткавы стэк дададзена падтрымка сямейства адрасоў AF_ARP, уяўлялага ARP-адрасы.
- Кампаненты інтэрфейсу DRM (Direct Rendering Manager) сінхранізаваныя з ядром Linux 4.10.17. Абноўлены драйвер drm/i915 для GPU Intel.
- Выстаўляемая па змаўчанні прапускная здольнасць паслядоўнага порта падвышаная з 9600 да 115200 бод.
- Ва ўтыліту ifconfig дададзена опцыя "-f" і магчымасць фільтрацыі высновы па групе інтэрфейсаў.
- З FreeBSD сінхранізаваныя рэалізацыі ўтыліт shutdown, reboot, printf, test, sh, efivar, uefisign.
- З NetBSD перанесены гульні ching, gomoku, monop і cgram.
- У склад уключаны ўтыліты efidp і efibootmgr.
- Пашыраны магчымасці бібліятэкі pthreads, дададзена падтрымка pthread_getname_np().
- З FreeBSD перанесена бібліятэка libstdbuf.
- У libutil дададзена падтрымка sockaddr_snprintf(), перанесеная з NetBSD.
- У паролях, якія задаюцца ва ўсталёўніку, дазволенае выкарыстанне спецзнакаў.
- У базавы склад уключаны пакет zstd (версія 1.4.8).
- Абноўлены версіі іншых кампанентаў, у тым ліку dhcpcd 9.4.0, grep 3.4, less 551, libressl 3.2.5, openssh 8.3p1, tcsh 6.22.02, wpa_supplicant 2.9. Па змаўчанні выкарыстоўваецца кампілятар gcc-8.
Крыніца: opennet.ru