Релиз операционной системы DragonFly BSD 4.2
Представлен релиз DragonFlyBSD 4.2, операционной системы с гибридным ядром, созданной в 2003 году с целью альтернативного развития ветки FreeBSD 4.x. Из особенностей DragonFly BSD можно выделить распределённую версионную файловую систему HAMMER, поддержку загрузки «виртуальных» ядер системы как пользовательских процессов, возможность кэширования данных и мета-данных ФС на SSD-накопителях, учитывающие контекст вариантные символические ссылки, возможность заморозки процессов с сохранением их состояния на диске, гибридное ядро, использующее легковесные потоки (LWKT).
Из наиболее существенных новшеств DragonFlyBSD 4.2 отмечается значительное обновление видеодрайверов i915 и Radeon, переход на GCC 5, уход от использования Sendmail, реализация нового загрузочного экрана, улучшение поддержки звука и USB, интеграция пакетного фильтра ipfw3. Для загрузки доступен 64-разрядный установочный образ размером 205 Мб для CD и USB Flash. Выпуск расширенного образа размером 1 Гб с десктоп-окружением для установки на DVD и USB Flash задерживается. Сформированный образ может работать в Live-режиме, что позволяет оценить работу DragonFly BSD без установки на диск.
Основные улучшения, добавленные в DragonFlyBSD 4.2:
- Переход на GCC 5 в качестве основного системного компилятора. В качестве запасного варианта предоставлена возможность использования GCC 4.7.4.
- Улучшение поддержки графики — существенное обновление drm-драйверов radeon и i915, используемых для переключения видеорежимов на уровня ядра для видеокарт AMD и Intel. Поддержка 2D- и 3D-ускорения реализована для большинства карт Intel и некоторых GPU AMD. Добавлена экспериментальная поддержка KMS-консоли. Для драйверов i915 и radeon добавлены средства управления яркостью подсветки экрана. В драйвере i915 реализована поддержка GPU Broadwell и мониторов HDMI 4K. В драйвере radeon появилась поддержка APU Richland, чипов Oland, Hainan и CIK, передачи звука через HDMI.
Код драйвера i915 синхронизирован с ядром Linux 3.14, а код драйвера radeon с ядром 3.11. Реализованы многие структуры данных и программные интерфейсы Linux, необходимые для работы подсистемы DRM, что позволило сократить число изменений при портировании кода драйверов из Linux. Графическая подсистема DragonFly может рассматриваться как реализация компонентов графического стека Linux, распространяемая под лицензией BSD.
- Sendmail заменён на DMA (DragonFly Mail Agent), созданный специально для DragonFly BSD агент доставки сообщений. DMA не является полноценным почтовым сервером и поддерживает лишь приём и доставку сообщений от локальных почтовых клиентов. Обработка сетевых SMTP-запросов через 25 порт не поддерживается. Пользователям которым необходим полнофункциональный почтовый сервер рекомендуется установить из портов OpenSMTPD, Postfix или Sendmail.
- Звуковой стек синхронизирован с кодовой базой FreeBSD 11-CURRENT по состоянию на январь 2015 года (прошлый звуковой стек был основан на FreeBSD 6). Добавлена поддержка новых звуковых устройств (в том числе Acer Chromebook C720 и систем на базе Ivy-Bridge), улучшено качество звука, улучшены средства для управления громкостью, обеспечена возможность передачи звука через порты Display-Port и HDMI. Из коробки обеспечена возможность просмотра HTML5-видео.
- USB-стек usb-u4b синхронизиован с FreeBSD по состоянию на март 2015 года;
- Представлен новый пакетный фильтр ipfw3, подготовленный на основе портирования ipfw2 из FreeBSD. Ipfw3 для DragonFly BSD отличается добавлением дополнительных механизмов для создания расширений (число возможных расширений увеличено с 256 до 65536), поддержкой сокращённого синтаксиса правил (можно указывать «ipfw add allow ip» вместо «ipfw add allow ip from any to any») и задействованием легковесных нитей ядра (LWKT) для привязки отдельного обработчика ipfw3 к каждому ядру CPU, что позволяет избавиться от блокировок и полностью задействовать все возможности многоядерных систем. Из доступных для ipfw3 модулей-расширений можно отметить работающую на уровне ядра реализацию транслятора адресов (ipfw3_nat), систему ограничения трафика (dummynet3), базовый модуль (типовые директивы count, skipto, forward, prob, keep_state, check_state, tag и т.п.), модуль layer2 для фильтрации по MAC-адресам и модуль layer4 (TCP, UDP, ICMP).
- Прекращена поддержка протокола SCTP и возможность использования IPv4 для сокетов IPv6. Поддержка SCTP появилась в DragonFly BSD 1.4 и была основана на ранней реализации SCTP из состава FreeBSD, но так и осталась на первоначальном уровне из-за отсутствия заинтересованных в данном протоколе пользователей и разработчиков. Кроме того, код SCTP мешает работе по улучшению поддержки IPv6 в сетевом стеке DragonFly BSD.
- В сетевом стеке обеспечена возможность работы кода ICMP в асинхронном режиме с параллельной обработкой данных на нескольких CPU. Включён по умолчанию механизм «TCP path MTU discovery». С FreeBSD синхронизирован код беспроводного стека 802.11.
- В ядре реализован новый системный вызов reapctl () для управления подпроцессами, значение MAXTSIZ увеличено с 128M до 256M, представлена новая реализация вызовов callout*(), добавлена поддержка фильтров записи для kqueue, переработан код dmesg для исключения потери сообщений, добавлены системные вызовы pipe2(), chflagsat (), utimensat () и futimens (), в реализацию ACPI добавлен разбор и установка процессорных C-состояний, проведена чистка кода Ext2fs и Tmpfs;
- Добавлены драйверы dimm, ecc, coretemp и memtemp для обработки данных с сенсоров модулей памяти и CPU, таких как контроль целостности и температура.
- Добавлен драйвер ipmi с поддержкой watchdog-оборудования и IPMI 2.0;
- В файловой системе HAMMER появилась поддержка экспорта по NFS и добавлена команда «hammer abort-cleanup». В состав выпуска также входит обновлённый вариант ФС HAMMER2, степень готовности которого оценивается в 95%. HAMMER2 примечателен такими функциями, как отдельное монтирование снапшотов, доступные на запись снапшоты, квоты на уровне директорий, инкрементальное зеркалирование, поддержка различных алгоритмов сжатия данных, multi-master зеркалирование с распределением данных на несколько хостов;
- Представлено новое цветное оформление загрузочного меню.
- Оптимизирован процесс сборки системы, обеспечена более интенсивная параллельная сборка в несколько потоков;
- Обновлены версии сторонних программ, поставляемых в базовой системе: openssh 6.7p1, file 5.22, ftp 1.205 из netbsd, sh (FreeBSD d038ee76), mdocml 1.13.1, byacc 2014–10–06, less 471, mpc 1.0.3, bmake 2014–11–11, binutils 2.25, GCC 5.1.1, OpenSSL 1.0.1o.
© OpenNet