Релиз FreeBSD 10.1

После десяти месяцев разработки официально представлен релиз FreeBSD 10.1, который доступен для архитектур amd64, i386, ia64, powerpc, powerpc64, sparc64 и armv6. Основные новшества:

Начальная поддержка загрузки на системах с UEFI. Формирование дополнительных загрузочных образов для CD/DVD и flash-накопителей с поддержкой загрузки на системах с UEFI; Поддержка протокола UDP-Lite (RFC 3828), допускающего доставку частично повреждённых пакетов с расчётом на то, что восстановление может быть проведено силами приложения. Например, битые аудио и видеоданные могут быть частично восстановлены на уровне кодека; Из ветки FreeBSD-CURRENT импортирован драйвер vt, развиваемый в рамках проекта Newcons, развивающего замену syscons. Vt предоставляет новый интерфейс для обеспечения вывода через графические устройства, позволяющий организовать доступ простых драйверов к консоли и терминальному режиму, а также доступ к фреймбуферу для X.Org. При этом от драйвера не требуется встраивание шрифтов, цветовых карт и изображений курсоров мыши, все эти компоненты предоставлены Newcons-драйвером vt. Среди возможностей отмечается поддержка мыши, KMS (i915kms и radeonkms), USB-клавиатур, экрана-заставки, vidcontrol, Unicode, xterm-подобная эмуляция терминала, использование различных шрифтов в разных окнах терминала; Обновлена реализация ZFS, в которой появилась возможность установки закладок на снапшоты (zfs bookmarks). Из OpenSolaris импортирован API libzfs, который позволяет обеспечить параллельное сканирование дисков, что приведёт к сокращению времени импорта zpool; Для файловой системы FFS (Fast File System) реализована поддержка многопоточной обработки soft updates. Ранее soft updates обрабатывались одним потоком, а теперь свой поток используется для каждой точки монтирования; Из FreeBSD-CURRENT перенесена реализация файловой системы autofs и связанного с ней демона automountd для организации автоматического монтирования ФС при попытке обращения к связанным с ними разделам. Система автомонтирования реализована в виде, близком к подобным подсистемам Linux, OS X и Solaris, для обеспечения совместимости на уровне формата файлов маппинга; Из FreeBSD-CURRENT импортирован новый сервер nfsd с поддержкой NFS 4.1 (RFC5661); В GEOM_MULTIPATH обеспечена поддержка автоматического изменения размера разделов на лету. Как следствие в GEOM_PART, geom label и gmirror добавлена команда resize, позволяющая изменять размер дискового раздела или зеркала после замены всех его компонентов; Обновлён KMS-модуль Radeon для видеокарт AMD. В том числе добавлена поддержка 32-разрядных ioctl, позволяющих запускать 32-разрядные приложения на 64-разрядных системах; Код гипервизора bhyve синхронизирован с веткой FreeBSD-CURRENT. В гипервизор bhyve добавлена возможность загрузки с разделов ZFS, поддержка гостевых систем FreeBSD/i386 и виртуализированная поддержка XSAVE; Добавлен драйвер virtio_random, предоставляющий качественную энтропию генераторам псевдослучайных чисел гостевых систем; В подсистеме виртуальной памяти реализован метод «fast path» в обработчике обращений к невыделенным страницам памяти (page-fault); Заметно расширена поддержка архитектуры ARM, в том числе добавлена поддержка многопроцессорности (SMP) и новых чипов, таких как Samsung Exynos 5250, Freescale i.MX6, Freescale i.MX53, Freescale Vybrid, а также платформ TI BEAGLEBONE и PANDABOARD; В загрузчике реализовано меню для выбора используемого для загрузки ядра; Существенно улучшена производительность кода RPC (например, используется на NFS-сервере) на SMP-системах; В уровень блочных устройств GEOM добавлена функциональность прямой отправки (direct dispatch), позволяющей разделить нагрузку между несколькими потоками и процессорами, сократив число переключений контекста. В RAID-драйвере на основе GEOM, а также в драйверах mfi, virtio_blk и virtio_scsi обеспечена поддержка unmapped I/O, которая позволила поднять производительность ввода/вывода, благодаря исключению стадии маппинга буферов в TLB-кэше, что существенно снизило накладные расходы при работе на многопроцессорных системах; В классе GEOM_ELI обеспечено кэширование пароля расшифровки, что позволяет ограничиться одним вводом пароля в процессе загрузки при наличии нескольких дисков с идентичным паролем; Переработан механизм блокировок в CAM (ATA/SCSI) и GEOM, что позволило заметно увеличить производительность на многоядерных системах. Например, в тестах был достигнут порог в 1 млн операций ввода/вывода в секунду; В функции crypt для хэширования паролей по умолчанию задействован алгоритм SHA512. Добавлена поддержка формата Blowfish $2b$, допускающего использование паролей длиннее 256 символов; Добавлена библиотека libucl с функциями для разбора файлов конфигурации в формате JSON; В утилите top появилась возможность фильтрации вывода по идентификатору или имени jail-окружения; Компоненты clang/llvm обновлены до выпуска 3.4.1; Пакетный менеджер pkg синхронизирован с FreeBSD-CURRENT; По умолчанию newsyslog теперь учитывает не только newsyslog.conf, но и включает конфигурационные файлы из директорий /etc/newsyslog.conf.d/ и /usr/local/etc/newsyslog.conf.d/; Расширены возможности инсталлятора (bsdinstall), в котором появилась поддержка создания зашифрованных (geli) и отзеркалированных (gmirror) разделов подкачки при установке на ZFS; Серия улучшений и оптимизаций, связанных с работой iSCSI; Многочисленные обновления драйверов с поддержкой сетевых устройств и систем хранения, в том числе добавлен драйвер mrsas с поддержкой SAS-контроллеров LSI MegaRAID. Для архитектур amd64 и i386 добавлен и включён по умолчанию драйвер Hyper-V KVP (key-value pair); Внесены оптимизации в библиотеку математических функций, добавлены новые реализации функций expl (), coshl (), sinhl (), tanhl (), erfl () и erfcl ();

© OpenNet