След повече от година разработка е публикувана версията на 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, която позволява да се намали фрагментацията на паметта.
- Поддръжката на драйвера amdsmn за подсистемата SMN (System Management Network) на AMD процесорите е пренесена от FreeBSD.
- В 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
