Представлен релиз DragonFlyBSD 4.4, операционной системы с гибридным ядром, созданной в 2003 году с целью альтернативного развития ветки FreeBSD 4.x. Из особенностей DragonFly BSD можно выделить распределённую версионную файловую систему HAMMER, поддержку загрузки "виртуальных" ядер системы как пользовательских процессов, возможность кэширования данных и мета-данных ФС на SSD-накопителях, учитывающие контекст вариантные символические ссылки, возможность заморозки процессов с сохранением их состояния на диске, гибридное ядро, использующее легковесные потоки (LWKT). Из наиболее существенных новшеств DragonFlyBSD 4.4 отмечается новая реализация локали, улучшение файловой системы Hammer, переход по умолчанию на новую систему динамического связывания и значительное обновление видеодрайверов i915 и Radeon.

Основные улучшения, добавленные в DragonFlyBSD 4.4:

  • Существенное обновление drm-драйверов radeon и i915, предоставляющих интерфейс для управления видеокартами AMD и Intel на уровне ядра. Код драйверов i915 и radeon синхронизированы с ядром Linux 3.18. В i915 добавлена поддержка ValleyView, Baytrail и Cherryview Atom SOC, реализована полная поддержка аппаратного ускорения для GPU Broadwell, добавлена базовая поддержка APU на базе микроархитектуры Skylake, улучшены механизмы управления энергопотреблением. Системная консоль по умолчанию поддерживает работу через drm (KMS-консоль). Для карт Radeon добавлена поддержка датчиков температуры;
  • Полная переработка системы локали. До сих пор систем локали в DragonFly BSD синхронизировалась с FreeBSD, но в DragonFly BSD 4.4 реализация локали была полностью переработана. Данные для всех шести категорий локали (LC_CTYPE, LC_COLLATE, LC_TIME, LC_NUMERIC, LC_MONETARY, LC_MESSAGES) теперь основываются на актуальных выпусках Unicode CLDR. Внесены улучшения в обработку чисел, времени и денежных единиц. Все определения CTYPE объединены в один набор сопоставлений. Добавлена поддержка трёхкомпонентных имён локалей, таких как sr_cyrl_RS, sr_latn_RS, zh_Hans_CN и zh_Hant_TW. Реализованные сокращённые коды локалей, например, "de_DE", "fr_FR" и "en_US" для 8-битовых кодировок.
  • Поддержка свойства локали LC_COLLATE (Collation), позволяющего задавать правила сортировки и методы сопоставления с учётом смысла символов. При установке LC_COLLATE для указанной локали при сортировке и проверке диапазонов не будут разделяться строчные и прописные буквы (например, символы "A" и "a" войдут в диапазон [a-z], в то время как без LC_COLLATE в данный диапазон войдёт только "a"), при сортировке цифровых значений будет учитываться наличие минуса и точки перед числом и разные виды написания (1e3 = 1000), будут учитываться особенности языков (например, игнорироваться артикли, такие как The). Отмечается, что DragonFly BSD стала первой из BSD-систем с корректной поддержкой Collation для именованных локалей, что позволяет, например, использовать выражение COLLATE в PostgreSQL. Поддержка Collation уже портирована из DragonFly BSD во FreeBSD-CURRENT;
  • Системная библиотека регулярных выражений заменена на TRE, что позволило избавиться от привязки к режиму POSIX (однобайтовые сопоставления) и реализовать полноценную поддержку многобайтовых кодировок в регулярных выражениях. Кроме поддержки многобайтовых кодировок библиотека TRE, которая уже используется в musl и OS X, обладает более высокой производительностью и поддерживает больший спектр регулярных выражений;
  • Cистема динамического связывания переведена по умолчанию на компоновщик Gold, разработанный инженерами Google и входящий в состав GNU binutils. Старый компоновщик "ld.bfd" доступен в качестве опции и может быть активирован в make.conf;
  • В ядре улучшена поддержка возможностей CPU по экономии энергии. Добавлен системный вызов lwp_setname(2). Добавлен драйвер aperf(4) для вывода эффективной частоты CPU;
  • Улучшение сетевых возможностей:
    • Добавлен драйвер iwm(4), в драйвер re(4) добавлена поддержка чипов Realtek 8168H.
    • Добавлена утилита rtadvctl.
    • Реализована асинхронная обработка UDP-соединений.
    • Увеличен размер начального окна для TCP.
    • Добавлена возможность изменения размера nmbcluster на лету.
    • Код IPv6 синхронизирован с FreeBSD.
    • Увеличена производительность вызова socket(2) для TCP и UDP.
    • Добавлен системный вызов accept(4).
    • Добавлена поддержка флагов SOCK_CLOEXEC и SOCK_NONBLOCK для вызовов socket(2) и accept4(2);
  • Библиотека libm заменена на вариант от проекта OpenBSD;
  • Утилита sort заменена на вариант от проекта FreeBSD (ранее использовался sort из NetBSD);
  • В libc добавлена поддержка версионирования наборов символов, что даёт возможность запуска в будущих выпусках исполняемых файлов из DragonFly BSD 4.4;
  • В состав включена утилита tcpdrop;
  • Внесены многочисленные правки и чистки в реализацию файловой системы HAMMER. В состав выпуска также входит обновлённый вариант ФС HAMMER2, которая примечательна такими функциями, как отдельное монтирование снапшотов, доступные на запись снапшоты, квоты на уровне директорий, инкрементальное зеркалирование, поддержка различных алгоритмов сжатия данных, multi-master зеркалирование с распределением данных на несколько хостов. Новая версия HAMMER2 поддерживает монтирование корневого раздела и операции дедупликации данных (dedup) на лету. В настройки сборки ядра добавлена опция WANT_HAMMER2 для включения поддержка файловых систем Hammer2;
  • Обновлены версии сторонних программ, поставляемых в базовой системе: gcc 5.2, nvi2 2.1.3, libexecinfo (синхронизирован с FreeBSD), iconv (синхронизирован с FreeBSD), openssl 1.0.1p, xz 5.2.2, libedit 2015-03-25, binutils 2.25.1, grep 2.22, tcsh 6.19.00, (tn)ftp '10 OCT 2015', acpica 20150717;
  • Из базовой системы удалены hostapd (перемещён в порт net/hostapd), dsched, mklocale (заменён на localedef), colldef (заменён на localedef).
  • Коллекция DPorts достигла 22800 портов.


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