Спустя два года с момента выхода ветки FreeBSD 9 представлен (http://www.freebsd.org/releases/10.0R/announce.html) релиз FreeBSD 10.0, ставший одним из самых значительных релизов за историю существования проекта. Новая ветка примечательна переходом на использование по умолчанию компилятора Clang для архитектур i386 и AMD64, интеграцией гипервизора BHyVe, заменой DNS-сервера BIND на Unbound и LDNS, реализацией протокола CARP2, интеграцией подсистемы FUSE, переходом по умолчанию на пакетный менеджер pkg. Установочные сборки, способные работать в Live-режиме, доступны (ftp://ftp.freebsd.org/pub/FreeBSD/releases/ISO-IMAGES/10.0/) в вариантах Bootonly (200 Мб), DVD (2.4 Гб), CD (630 Мб) и Memstick (680 Мб) для платформ amd64 (ftp://ftp.freebsd.org/pub/FreeBSD/releases/amd64/amd64/ISO-I.../), i386 (ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/i386/ISO-IMAGES/), powerpc64 (ftp://ftp.freebsd.org/pub/FreeBSD/releases/powerpc/powerpc64.../), sparc64 (ftp://ftp.freebsd.org/pub/FreeBSD/releases/sparc64/sparc64/I.../) и ia64 (ftp://ftp.freebsd.org/pub/FreeBSD/releases/ia64/ia64/ISO-IMAGES/).Основные новшества:
-
Система
- Переход на использование по умолчанию компилятора Clang (http://clang.llvm.org/) для архитектур i386 и AMD64, для которых GCC теперь по умолчанию не собирается как часть базовой системы. Тем не менее GCC можно установить из портов или собрать из исходных текстов вместе с системой, указав параметры WITH_GCC в src.conf.
- Включение наработок по оптимизации производительности файловых систем UFS/FFS.
- Интегрирована поддержка unmapped VMIO, которая позволила поднять производительность ввода/вывода, благодаря исключению стадии маппинга буферов в TLB-кэше, что существенно снизило накладные расходы при работе на многопроцессорных системах. На некоторых крупных SMP-системах с интенсивным вводом/выводом наблюдается повышение производительности на 25-30%.
- Обновлён инсталлятор bsdinstall, в котором добавлена поддержка полноценной установки системы на разделы ZFS.
- Для архитектуры amd64 максимальный размер адресуемой ядром памяти увеличен с 1TB до 4TB. Добавлена поддержка маппинга страниц памяти большого размера (SuperPages).\
- Для архитектур amd64,i386,ia64,powerpc по умолчанию GENERIC ядрах задействован планировщик задач ULE;
- В стандартную библиотеку добавлен вызов cpuset (http://www.freebsd.org/cgi/man.cgi?query=cpuset&sektion=2) с связанная с ним утилита cpuset (http://www.freebsd.org/cgi/man.cgi?query=cpuset&sektion=1), позволяющая осуществлять привязку процессов к CPU, запускать команды в привязке к определённым процессорам и управлять группировкой и назначением ресурсов CPU.
- Поддержка генерации дампов ядра в структурированном формате textdump (http://www.freebsd.org/cgi/man.cgi?query=textdump&sektion=4), включающем отладочную информацию. В отличие от ранее применяемых полных дампов памяти, использование формата textdump позволяет существенно упростить отладку проблем в ядре. Кроме того, внесены многочисленные улучшения в отладчик ядра ddb (http://www.freebsd.org/cgi/man.cgi?query=ddb&sektion=4), в том числе поддержка выполнения скриптов.
- Для оценки поддерживаемых текущим ядром возможностей добавлен sysctl kern.features;
- Для архитектур добавлен новый загрузчик gptboot, поддерживающий загрузку с дисков, размеченных с использованием GPT. Внесены улучшения, связанные с обеспечением загрузки с USB-устройств;
-
Дисковая подсистема, ввод/вывод, системы хранения и файловые системы
- Интеграция подсистемы FUSE (файловые системы в пространстве пользователя);
- Поддержка увеличения размера разделов UFS без отмонтирования;
- Поддержка в ZFS операции TRIM для SSD-накопителей, сжатия LZ4 и L2ARC, оптимизация NOP-записи;
-
Сетевая подсистема
- Переработка пакетного фильтра pf для многоядерных систем;
- Интеграция наработок проекта CARP2;
- Реализация клиента NFSv4.1.
- Замена DNS-сервера BIND на связку из кеширующего DNS сервера Unbound (http://www.unbound.net/) и библиотеки LDNS (http://www.nlnetlabs.nl/projects/ldns/). Unbound распространяется под лицензией BSD, имеет модульную структуру, поддерживает работу резолвера в рекурсивном и кэширующем режиме, обеспечивает проверку валидности DNSSEC-сигнатур.
При необходимости использовать BIND, его следует установить из портов;
- Новый стек iSCSI;
-
Изолированные окружения, безопасность и ограничения ресурсов
- Интеграция гипервизора BHyVe (http://www.bhyve.org/), изначально разработанного компанией NetApp. Для работы требуется система с процессором Intel, поддерживающим аппаратные средства виртуализации VT-x и EPT (Extended Page Tables). Из возможностей можно отметить поддержку создания вложенных окружений, проброс PCI-устройств, доступ к содержимому виртуальной машины через специальное блочное устройство, возможность назначения нескольких CPU гостевой системе. Поддержка BHyVe пока ограничена архитектурой amd64. В качестве гостевых систем могут запускаться системы для которых имеются драйверы VirtIO для паравиртуализации ввода/вывода, в том числе различные версии FreeBSD, свежие сборки OpenBSD и системы GNU/Linux (CentOS, Debian, Ubuntu, openSUSE). Для запуска виртуального окружения можно использовать команду "/usr/sbin/bhyveload (http://www.freebsd.org/cgi/man.cgi?query=bhyveload&apropos=0...) -m 256 -d ./vm0.img vm0".
- Включение интерфейса Virtio (http://www.freebsd.org/cgi/man.cgi?query=virtio&sektion=4) с поддержкой паравиртуальных устройств ввода/вывода vtnet (Ethernet), virtio_blk (блочное устройство), virtio_scsi (SCSI HBA) и virtio_balloon (для возвращения памяти гипервизору). Драйверы протестированы при работе FreeBSD в качестве гостевой системы под управлением Qemu/KVM, VirtualBox и bhyve;
- Добавлены паравиртуальные драйверы (https://wiki.freebsd.org/HyperV) для гипервизора Hyper-V, позволяющие запускать FreeBSD в качестве гостевой системы в окружении продуктов виртуализации Microsoft. Драйверы доступны для архитектур amd64 и i386. Для GENERIC-ядра amd64 драйверы включены по умолчанию. Доступны драйверы для организации управления с консоли Hyper-V, для синхронизации времени, для IDE и SCSI хранилищ, для сетевого адаптера и для организации live-миграции.
- В GENERIC ядрах для архитектур amd64 и i386 включён по умолчанию драйвер Xen PVHVM, предоставляющий возможность использования специальных дисковых и сетевых драйверов (PVHVM или PV-on-HVM) в гостевой системе, работающей в режиме полной виртуализации (HVM). Ранее в HVM-режиме допускалось использование PV-драйверов, но было невозможным задействование PVHVM-вариантов данных драйверов, специально оптимизированных для работы в режиме HVM. Наиболее существенным отличием PVHVM-драйверов является обход стадии эмуляции при трансляции дискового и сетевого ввода/вывода, что позволяет значительно повысить производительность HVM-окружений, приблизив их к производительности паравиртуализированных систем.
- Для архитектур amd64 и i386 активирован драйвер vmx (http://www.freebsd.org/cgi/man.cgi?query=vmx&sektion=4) для виртуального сетевого контроллера VMware VMXNET3 и драйвер для виртуального SCSI-контроллера PAPR VSCSI;
- Для архитектур amd64 и i386 добавлена поддержка аппаратного механизма генерации псевдослучайных чисел RDRAND, присутствующего в процессорах Intel, начиная с IvyBridge. Аппаратные генераторы случайных чисел применяются (http://www.opennet.ru/opennews/art.shtml?num=38225#rnd) не напрямую, а в качестве одного из нескольких источников энтропии, смешиваемых при помощи алгоритма Yarrow.
-
Оборудование и аппаратные архитектуры
- Включение KMS-модуля для видеокарт AMD. Поддержка KMS-модуля необходима для обеспечения работы во FreeBSD свежих версий драйвера xf86-video-radeon, в котором прекращена поддержка переключения видеорежимов на пользовате...
URL: http://www.freebsd.org/releases/10.0R/announce.html
Новость: http://www.opennet.ru/opennews/art.shtml?num=38886