После более года разработки опубликован релиз 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.
Release.
Ссылка here.