После десяти месяцев разработки официально представлен релиз FreeBSD 10.1, который доступен для архитектур amd64, i386, ia64, powerpc, powerpc64, sparc64 и armv6.
Основные новшества:
- Начальная поддержка загрузки на системах с 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-кэше, что существенно снизило накладные расходы при работе на многопроцессорных системах;
- Переработан механизм блокировок в 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.