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

Представлен релиз 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 добавлена поддержка датчиков температуры;
  • Поддержка свойства локали 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;
  • Полная переработка системы локали. До сих пор систем локали во 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-битовых кодировок.
  • Системная библиотека регулярных выражений заменена на 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);

© OpenNet