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

27 марта 2017 года

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

Из наиболее существенных новшеств DragonFlyBSD 4.8 отмечается заметное увеличение производительности ядра, поддержка EFI в инсталляторе, новый драйвер NVMe, возможность загрузки с eMMC, обновление графических драйверов для GPU Intel, переход на LibreSSL.

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

  • В инсталлятор добавлена возможность установки на системах с EFI. Поддержка EFI добавлена в ядро и некоторые системные утилиты. Раздел /boot теперь может быть размещён на отдельном GPT-разделе или как DragonFly disklabel внутри GPT-раздела. По умолчанию GPT-разделы создаются для всех разделов DragonFly, и на них используется DragonFly disklabel, т.е. имена разделов назначаются как раньше;
  • В ядре проведена оптимизация, нацеленная на локализацию использования кэша CPU - уменьшение миграции кода между ядрами привело к повышению эффективности кэширования и повышению производительности. При работе с кэшем имён в VFS и выполнении вызовов exec() выигрыш может достигать 30%. В реальных задачах, например, при выполнении массовой пересборки на многоядерных системах, наблюдается увеличение производительности в среднем на 5%. Оптимизации также затронули и сетевой стек, в котором улучшена масштабируемость на многоядерных системах;
  • Включен по умолчанию новый высокопроизводительный драйвер для твердотельных накопителей (SSD), соответствующих спецификации NVMe (PCIe SSD). Драйвер поддерживает предоставляемые контроллерами NVMe средства для распараллеливания операций и распределения выполнения обработчиков прерываний и очередей на несколько CPU;
  • Добавлен параметр ядра vfs.repurpose_enable, позволяющий существенно сократить нагрузку от VM и IPI (inter-processor interrupt) в конфигурациях с большой интенсивностью файлового ввода/вывода за счёт обхода нормального механизма повторного использования виртуальных страниц памяти при высокой нагрузке;
  • Обновлён drm-драйвер i915, предоставляющий интерфейс для управления видеокартами Intel на уровне ядра (KMS). Код драйвера i915 синхронизирован с ядром Linux 4.6 (в прошлом выпуске 4.4). Улучшена поддержка графических подсистем, используемых в процессорах на базе микроархитектур Broadwell и Skylake;
  • Добавлена поддержка загрузки с накопителей eMMC;
  • Добавлена возможность настройки загрузки модулей ядра, обеспечивающих поддержку файловых систем, не применяемых при загрузке системы, через rc.conf, вместо loader.conf;
  • Обеспечена и включена по умолчанию сборка ядра с применением в компиляторе режима оптимизации "-O2";
  • Виртуализированные ядра vkernel, запускаемые как пользовательский процесс, переведены на использование механизма COW (Copy On Write), что позволило организовать совместное использования одного и того же дискового образа для запуска нескольких окружений;
  • В powerd добавлены средства управления, учитывающие данные с датчиков температуры. Например, теперь можно настроить принудительное понижение частоты при выходе температуры за допустимую границу, чтобы избежать проблем на компьютерах с некачественной или нерабочей системой охлаждения;
  • Реализован лимит RLIMIT_RSS, позволяющий ограничить размер потребляемых процессом RSS страниц памяти;
  • Расширен максимальный размер файла подкачки, который теперь может составлять до десятков терабайт. Параметр KVM в ядре увеличен с 128G до 511G;
  • Добавлена поддержка динамического удаления pmap, позволяющая на лету удалять из pmap промежуточные страницы памяти и приватные данные (PD);
  • Пересмотрена организация работы уровней 'nice'. Изменение значений nice теперь более заметно влияет на приоритет выполнения задачи;
  • С целью упрощения портирования реализован специфичный для Linux API i2c;
  • Удалены старые драйверы ISA, так как они потеряли смысл после ограничения работы DragonFly BSD только на 64-разрядных системах. В дальнейшем чистка старых драйверов будет продолжена;
  • Компоненты базовой системы переведены по умолчанию на использование библиотек libssl.so и libcrypto.so из пакета LibreSSL вместо OpenSSL;
  • В состав включён новый высокопроизводительный редактор связей Gold (Google ld), примечательный поддержкой оптимизаций на этапе связывания (LTO) и значительно более высокой производительностью компоновки (до 5 раз быстрее стандартного ld);
  • Компилятор в базовой системе обновлён до GCC 5.4.1. Набор binutils обновлён до версии 2.25;
  • Внесена порция исправлений для файловой системы HAMMER1, но в релиз не вошла ранее тестируемая более быстрая реализация алгоритма расчёта контрольных сумм, которая отложена до следующего выпуска.

Обновлённый вариант ФС HAMMER2 пока не вышел из стадии тестирования. ФС HAMMER2 примечательна такими функциями, как отдельное монтирование снапшотов, доступные на запись снапшоты, квоты на уровне директорий, инкрементальное зеркалирование, поддержка различных алгоритмов сжатия данных, multi-master зеркалирование с распределением данных на несколько хостов;

  • Представлен начальный инструментарий для использования Clang в качестве альтернативного компилятора, вместо GCC. Работа над данной возможностью пока не завершена, но Clang отдельно может быть установлен из пакетов.

Источники править

 
 
Creative Commons
Эта статья содержит материалы из статьи «Релиз операционной системы DragonFly BSD 4.8», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.