Увидела свет операционная система DragonFlyBSD 2.8

Увидел свет релиз DragonFlyBSD 2.8, операционной системы с гибридным ядром, созданной семь лет назад с целью альтернативного развития ветки FreeBSD 4.x. Для загрузки доступны 32- и 64-разрядные CD-образы. Вместо DVD-сборки подготовлен расширенный образ с десктоп-окружением для установки на USB Flash. Репозиторий pkgsrc в версии DragonFlyBSD 2.8 включает в себя около 9 тысяч предкомпилированных пакетов, для CVS-репозитория pkgsrc поддерживается активное GIT-зеркало.

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

  • Поддержка шифрования дисковых разделов, включая корневой раздел и раздел подкачки. Код шифрования разделов изначально оптимизирован для работы в многопоточном режиме, т.е. полностью задействует все ресурсы многоядерных CPU. Для управления используется утилита, совместимая с cryptsetup.
  • Код пакетного фильтра PF синхронизирован с OpenBSD 4.2 (до этого PF в DragonFlyBSD был импортирован из OpenBSD 3.5). Дополнительно проведена оптимизация производительности PF: данные связанные с операциями route-to, altq и tags теперь напрямую сохраняются в заголовках mbuf-блоков; удалены ненужные проверки контрольных сумм; переписан код работы с таблицами отслеживания состояния соединений и привязки к сетевым интерфейсам. Из особенностей варианта PF в DragonFlyBSD можно отметить поддержку алгоритма справедливой обработки очереди пакетов (fair-queue) и возможность восстановления статуса соединения в PF, что позволяет сохранить активными TCP соединения при перезагрузке маршрутизатора;
  • Из FreeBSD портирован новый WiFi-стек (802.11). Пока не все драйверы перенесены, но процесс портирования драйверов существенно упрощен, что дает основание полагать, что в ближайшее время поддержка новых WiFi-устройств в DragonFlyBSD будет расширена. Из поддерживаемых драйверов отмечены: ath, iwi, iwn, ral, wi, wpi. Еще предстоит портировать драйверы: acx, an, bwi, ndis, rtw, rum, ural;
  • Проведена работа по увеличению производительности при работе на многопроцессорных системах. Сокращено число областей в которых используется MPLOCK (эксклюзивная блокировка, позволяющая гарантировать, что код ядра в данным момент выполняется только одним CPU). В большинстве подсистем ядра блокировка MPLOCK заменена на мягкие локальные признаки LWKT, которые пока зависят от MPLOCK, но позволяют значительно упростить тестирования процесса ухода от MPLOCK. Работа в MPSAFE-режиме (sysctl lwkt.vm_mpsafe) уже близка к стабильному состоянию, несмотря на то, что при данном режиме без привязки к MPLOCK работает вся подсистема управления памятью, pf, kevent и обработчики сетевых протоколов, код синхронизации VFS и Linux-эмулятор;
  • Добавлены новые драйверы: Areca RAID, aesni crypto, реализована поддержка AHCI для новых AMD SATA чипов, из OpenBSD портирован драйвер uguru для мониторинга за системными датчиками, код драйвера twa синхронизирован с FreeBSD. Драйверы ahci и sili переработаны для поддержки режима MPSAFE;
  • Из базовой системы удалены DNS-сервер BIND (вместо него интегрированы drill и libldns) и библиотека libevent, которые отныне нужно ставить из пакетов. Обновлены версии сторонних программ в базовой системе: OpenSSH 5.6p1, OpenSSL 1.0.0a, bzip2 1.0.6, awk 20100523. Импортирован код LVM (Logical Volume Manager).
  • Улучшения ядра системы:
    • Реализован dsched - фреймворк для подключения планировщиков ввода/вывода. Добавлена политика справедливого распределения между процессами операций ввода/вывода - dsched_fq (Fair Queuing I/O scheduler);
    • Из NetBSD импортирован код Device Mapper, в котором обеспечена поддержка целей stripe и crypt;
    • Реализация select(2), poll(2) и kqueue/kevent(2) унифицирована и теперь базируется на едином кода kqueue;
    • Из FreeBSD синхронизирован код подсистем amdpm и alpm;
    • Добавлен kern_udev - фреймворк для ассоциирования дополнительной информации с устройствами;
    • Из FreeBSD портирован код TCP-MD5 (RFC 2385);
    • Добавлена поддержка initrd (ram-диск для начальной загрузки);
    • В криптографический фреймворк opencrypto добавлена поддержка AES-XTS и AES-CTR;
  • Добавлены новые программы:
    • mkinitrd,
    • powerd (демон для управления питанием CPU),
    • libdevattr (совместимая с libudev библиотека для получения информации об устройствах) + udevd (демон для отслеживания подключения устройств)
    • crashinfo и savecore (утилиты для анализа дампа краха ядра),
    • proplib,
    • stress2 (утилита для стресс-тестирования системы),
    • ioprio (утилита для установки приоритетов для ввода/вывода)

© OpenNet