Релиз операционной системы Dragonfly BSD 3.4
После шести месяцев разработки представлен релиз DragonFlyBSD 3.4, операционной системы с гибридным ядром, созданной в 2003 году с целью альтернативного развития ветки FreeBSD 4.x. Из особенностей DragonFly BSD можно выделить распределённую версионную файловую систему HAMMER, поддержку загрузки «виртуальных» ядер системы как пользовательских процессов, возможность кэширования данных и мета-данных ФС на SSD-накопителях. Среди ключевых улучшений выпуска DragonFly BSD 3.4 отмечается интеграция системы портов DPorts и инструментария pkgng, переход на GCC 4.7, новый USB-стек, оптимизация производительности при работе на высоконагруженных системах. Для загрузки доступны 32- и 64-разрядные установочные образы размером 221 Мб для CD и USB Flash, а также расширенные образы размером 1 Гб с десктоп-окружением для установки на DVD и USB Flash. Все доступные образы могут работать в Live-режиме, что позволяет оценить работу DragonFly BSD без установки на диск. Репозиторий pkgsrc в DragonFlyBSD 3.4 обновлён до версии 2013Q1 и включает в себя около 10 тысяч предкомпилированных пакетов. Для поддерживаемого проектом NetBSD CVS-репозитория pkgsrc разработчиками DragonFly BSD поддерживается активное GIT-зеркало.
Основные улучшения, добавленные в DragonFlyBSD 3.4:
Интеграция системы сборки пакетов DPorts (DragonFly Ports), в рамках которой поддерживается вариант портов из FreeBSD, адаптированных для сборки в DragonFly BSD. Для управления бинарными пакетами задействована новая утилита из FreeBSD — pkg (утилиты pkg_* не требуются), развиваемая в рамках проекта pkgng, предоставляющая интерфейс в стиле пакетного менеджера APT и обеспечивающая поддержку таких функций, как обновление пакетов, работа с репозиториями бинарных пакетов, учёт зависимостей и полноценные средства для работы с метаданными. DPorts пока позиционируется как экспериментальная система, по умолчанию по прежнему предлагается pkgsrc. DPorts и pkgsrc не могут использоваться одновременно, поэтому пользователи, желающие перейти на DPorts, должны отключить pkgsrc. Проведена работа по увеличению производительности системы в условиях повышенной нагрузки на CPU и дисковую подсистему. Внесённые изменения позволили увеличить производительность выполнения инструментария для тестирования сборки портов poudriere, увеличить скорость работы с разделами tmpfs, увеличить эффективность функционирования планировщика задач. Попутно устранены проявляющиеся на системах с большим числом процессорных ядер проблемы со стабильностью при многочисленных монтированиях и отмонтированиях разделов tmpfs. На приведённом ниже графике представлена статистика нагрузки на сервере сборки и тестирования пакетов до и после перехода на новое ядро Dragonfly BSD:
Результаты тестирования производительности:
Переход на GCC 4.7 в качестве используемого по умолчанию набора компиляторов, применяемого в том числе для сборки базовой системы. Появившаяся в GCC 4.7 поддержка технлогии параллельного программирования OpenMP может быть задействована в Dragonfly BSD при использовании бибилиотеки libgomp, интегрированные средства защиты от переполнения стека через libssp. Поддержка ранее используемой ветки GCC 4.4 будет сохранена и предложена в качестве опции. Кроме того, GCC 4.4 остаётся первичным компилятором для сборки портов в системе DPorts. Новый USB-стек usb4bsd, обеспечивающий поддержку хост-контроллеров xhci (USB 3.0) и расширяющий совместимость с USB-устройствами. Новый стек создан на основе портирования кода поддержки USB из FreeBSD 8. Так как подсистема достаточно новая, она пока не включена по умолчанию и требует для активации пересборки ядра (в /etc/make.conf следует установить «WANT_USB4BSD=yes» и в конфигурации ядра заменить «device usb» на «device usb4bsd»). Usb4bsd доступен для экспериментов начиная с прошлого выпуска, в Dragonfly BSD 3.4 увеличена стабильность и расширены возможности стека, но разработка по прежнему позиционируется как экспериментальная. Обновление сторонних приложений, поставляемых в базовой системе: flex 2.5.37, bmake 20121010, OpenSSH 6.1p1, byacc 20121003, OpenSSL 1.0.1e, dialog 1.2–20121230, libarchive 3.1.2.
© OpenNet