Релиз операционной системы DragonFly BSD 6.2

После семи месяцев разработки опубликован релиз 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.

Источник: http://www.opennet.ru/opennews/art.shtml?num=56485