Увидела свет операционная система 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