После семи месяцев разработки опубликован релиз DragonFlyBSD 6.2, операционной системы с гибридным ядром, созданной в 2003 году с целью альтернативного развития ветки FreeBSD 4.x. Из особенностей DragonFly BSD можно выделить распределённую версионную файловую систему HAMMER, поддержку загрузки “виртуальных” ядер системы как пользовательских процессов, возможность кэширования данных и мета-данных ФС на SSD-накопителях, учитывающие контекст вариантные символические ссылки, возможность заморозки процессов с сохранением их состояния на диске, гибридное ядро, использующее легковесные потоки (LWKT).
Основные улучшения, добавленные в DragonFlyBSD 6.2:
- Из NetBSD перенесён гипервизор NVMM, поддерживающий аппаратные механизмы виртуализации SVM для CPU AMD и VMX для CPU Intel. В NVMM на уровне ядра выполняется только минимально необходимый набор обвязок вокруг аппаратных механизмов виртуализации, а весь код эмуляции оборудования работает в пространстве пользователя. Для выполнения таких задач, как создание виртуальных машин, выделение памяти и распределение VCPU, применяется инструментарий на базе библиотеки libnvmm, а для запуска гостевых систем пакет qemu-nvmm.
- Продолжена работа над файловой системой HAMMER2, которая примечательна такими функциями, как отдельное монтирование снапшотов, доступные на запись снапшоты, квоты на уровне директорий, инкрементальное зеркалирование, поддержка различных алгоритмов сжатия данных, multi-master зеркалирование с распределением данных на несколько хостов. В новом выпуске реализована поддержка команды growfs, позволяющей изменять размер существующего раздела HAMMER2. В состав включена экспериментальная поддержка компонента xdisk, позволяющего монтировать разделы HAMMER2 с удалённых систем.
- Компоненты интерфейса DRM (Direct Rendering Manager), менеджер управления видеопамятью TTM и драйвер amdgpu синхронизированы с ядром Linux 4.19, что позволило обеспечить поддержку чипов AMD вплоть до APU 3400G. Обновлён драйвер drm/i915 для GPU Intel, в котором появилась поддержка GPU Whiskey Lake и решена проблема со сбоями при запуске. Драйвер Radeon переведён на использование менеджера видеопамяти TTM.
- В вызове poll реализована поддержка события POLLHUP, возвращаемого при закрытии второго конца неименованного канала или FIFO.
- В ядре значительно улучшены алгоритмы работы со страницами памяти, повышена эффективность при выборе страниц для перемещения в раздел подкачки и значительно улучшено поведение ресурсоёмких приложений, таких как браузеры, на системах с небольшим объёмом памяти.
- Изменено вычисление значения maxvnodes для сокращения потребления памяти ядром, так как кэширование слишком большого числа vnode может снизить эффективность работы, например, если блоки данных дополнительно кэшируются на уровне блочного устройства.
- В утилиту fstyp добавлена поддержка файловой системы BeFS. В makefs из FreeBSD перенесена поддержка ФС FAT. Улучшена работа утилит fsck и fdisk. Исправлены ошибки в коде ext2fs и msdosfs.
- Добавлен ioctl SIOCGHWADDR для получения аппратного адреса сетевого интерфейса.
- В ipfw3nat добавлена поддержка NAT для пакетов ICMP, реализованная через повторное использование icmp idport.
- В драйвер ichsmb добавлена поддержка контроллеров Intel ICH SMBus для чипов Cannonlake, Cometlake, Tigerlake и Geminilake.
- Генерация файлов initrd переведена с использования vn на makefs.
- В стандартную библиотеку libc добавлены функции getentropy(), clearenv() и mkdirat(). Улучшена совместимость реализации shm_open() и /var/run/shm с другими системами. Добавлены специфичные для разных платформ типы __double_t и __float_t. В libdmsg возвращены функции, связанные с шифрованием. Повышена производительность pthreads.
- В утилите dsynth, предназначенной для локальной сборки и сопровождения бинарных репозиториев DPort, добавлена опция “-M” и переменная PKG_COMPRESSION_FORMAT. Обеспечена поддержка пакетного менеджера pkg 1.17 и второй версии метаданных pkg.
- В состав импортированы PAM-библиотека OpenPAM Tabebuia, утилита проверки паролей passwdqc 2.0.2, пакеты mandoc 1.14.6, OpenSSH 8.8p1, dhcpcd 9.4.1 и file 5.40.
- Устранена локально эксплуатируемая уязвимость в ядре, позволяющая пользователю повысить свои привилегии в системе (CVE не сообщается).
- Удалён драйвер ndis, позволявший использовать бинарные NDIS-драйверы из Windows.
- Прекращена поддержка формата исполняемых файлов a.out.
Release.
Ссылка here.