2014-01-20

Официально объявлено о выходе FreeBSD 10.0

Спустя два года с момента выхода ветки FreeBSD 9 представлен релиз FreeBSD 10.0, ставший одним из самых значительных релизов за историю существования проекта. Новая ветка примечательна переходом на использование по умолчанию компилятора Clang для архитектур i386 и AMD64, интеграцией гипервизора BHyVe, заменой DNS-сервера BIND на Unbound и LDNS, реализацией протокола CARP2, интеграцией подсистемы FUSE, переходом по умолчанию на пакетный менеджер pkg. Установочные сборки, способные работать в Live-режиме, доступны в вариантах Bootonly (200 Мб), DVD (2.4 Гб), CD (630 Мб) и Memstick (680 Мб) для платформ amd64i386powerpc64sparc64 и ia64.
Основные новшества:
  • Система
    • Переход на использование по умолчанию компилятора Clang для архитектур 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 с связанная с ним утилита cpuset, позволяющая осуществлять привязку процессов к CPU, запускать команды в привязке к определённым процессорам и управлять группировкой и назначением ресурсов CPU.
    • Поддержка генерации дампов ядра в структурированном формате textdump, включающем отладочную информацию. В отличие от ранее применяемых полных дампов памяти, использование формата textdump позволяет существенно упростить отладку проблем в ядре. Кроме того, внесены многочисленные улучшения в отладчик ядра ddb, в том числе поддержка выполнения скриптов.
    • Для оценки поддерживаемых текущим ядром возможностей добавлен sysctl kern.features;
    • Для архитектур добавлен новый загрузчик gptboot, поддерживающий загрузку с дисков, размеченных с использованием GPT. Внесены улучшения, связанные с обеспечением загрузки с USB-устройств;
  • Дисковая подсистема, ввод/вывод, системы хранения и файловые системы
    • Интеграция подсистемы FUSE (файловые системы в пространстве пользователя);
    • Поддержка увеличения размера разделов UFS без отмонтирования;
    • Поддержка в ZFS операции TRIM для SSD-накопителей, сжатия LZ4 и L2ARC, оптимизация NOP-записи;
  • Сетевая подсистема
    • Переработка пакетного фильтра pf для многоядерных систем;
    • Интеграция наработок проекта CARP2;
    • Реализация клиента NFSv4.1.
    • Замена DNS-сервера BIND на связку из кеширующего DNS сервера Unbound и библиотеки LDNS. Unbound распространяется под лицензией BSD, имеет модульную структуру, поддерживает работу резолвера в рекурсивном и кэширующем режиме, обеспечивает проверку валидности DNSSEC-сигнатур. При необходимости использовать BIND, его следует установить из портов;
    • Новый стек iSCSI;
  • Изолированные окружения, безопасность и ограничения ресурсов
    • Интеграция гипервизора BHyVe, изначально разработанного компанией NetApp. Для работы требуется система с процессором Intel, поддерживающим аппаратные средства виртуализации VT-x и EPT (Extended Page Tables). Из возможностей можно отметить поддержку создания вложенных окружений, проброс PCI-устройств, доступ к содержимому виртуальной машины через специальное блочное устройство, возможность назначения нескольких CPU гостевой системе. Поддержка BHyVe пока ограничена архитектурой amd64. В качестве гостевых систем могут запускаться системы для которых имеются драйверы VirtIO для паравиртуализации ввода/вывода, в том числе различные версии FreeBSD, свежие сборки OpenBSD и системы GNU/Linux (CentOS, Debian, Ubuntu, openSUSE). Для запуска виртуального окружения можно использовать команду "/usr/sbin/bhyveload -m 256 -d ./vm0.img vm0".
    • Включение интерфейса Virtio с поддержкой паравиртуальных устройств ввода/вывода vtnet (Ethernet), virtio_blk (блочное устройство), virtio_scsi (SCSI HBA) и virtio_balloon (для возвращения памяти гипервизору). Драйверы протестированы при работе FreeBSD в качестве гостевой системы под управлением Qemu/KVM, VirtualBox и bhyve;
    • Добавлены паравиртуальные драйверы для гипервизора 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 для виртуального сетевого контроллера VMware VMXNET3 и драйвер для виртуального SCSI-контроллера PAPR VSCSI;
    • Для архитектур amd64 и i386 добавлена поддержка аппаратного механизма генерации псевдослучайных чисел RDRAND, присутствующего в процессорах Intel, начиная с IvyBridge. Аппаратные генераторы случайных чисел применяются не напрямую, а в качестве одного из нескольких источников энтропии, смешиваемых при помощи алгоритма Yarrow.
  • Оборудование и аппаратные архитектуры
    • Включение KMS-модуля для видеокарт AMD. Поддержка KMS-модуля необходима для обеспечения работы во FreeBSD свежих версий драйвера xf86-video-radeon, в котором прекращена поддержка переключения видеорежимов на пользовательском уровне (UMS) и оставлена только возможность использования KMS (Kernel Mode Setting).
    • Поддержка USB Audio 2.0, позволяющего обеспечить работу с устройствами, поддерживающими более высокую пропускную способность, повышенную частоту дискретизации и более широкий динамический диапазон;
    • Адаптация для работы на Raspberry Pi (инструкция по установке);
    • Улучшение поддержки архитектуры ARM:
      • Добавлена поддержка ARMv6 и ARMv7, включая поддержку SoC Marvell MV78x60, TI OMAP4 и AM335x, реализована возможность использования SMP, TLS (thread-local storage) и инструкций VFP/Neon.
      • По умолчанию в качестве ABI для arm, armeb, armv6 и armv6eb теперь используется ARM EABI.
      • Добавлены средства для манипуляции страницами памяти большого размера (SuperPages), которые позволяют увеличить эффективность и производительность работы FreeBSD на ARM-системах, благодаря обеспечению средств трансляции TLB для динамического покрытия больших областей памяти, что особенно актуально с появлением серверных ARM-систем. При использовании SuperPages тестирование показало сокращение задержек при доступе к памяти на 34% в тесте GUPS и на 38% в тесте LMbench, время сборки buildworld сократилось на 20%.
    • Переписан драйвер bxe, в который добавлена поддержка BCM57712 и BCM578XX;
    • Добавлен драйвер cmx для устройств для чтения смарткарт Omnikey CardMan 4040 PCMCIA;
    • Добавлен драйвер uslcom для адаптеров USB-serial на базе чипов Silicon Laboratories CP2101/CP2102;
    • Добавлены новые сетевые драйверы: ale с поддержкой Gigabit/Fast Ethernet адаптеров Atheros AR8121/AR8113/AR8114, jme c поддержкой PCIe-контроллеров JMicron JMC250 Gigabit Ethernet и JMC260 Fast Ethernet, malo для PCI-карт на базе Marvell Libertas 88W8335, iw_cxgbe - iWARP/RDMA-драйвер для карт на базе Chelsio T4 и T5. В драйвер cxgbe добавлена поддержка 40G/10G Ethernet карт на базе Chelsio Terminator 5 (T5) ASIC. Драйвер em разделён на два отдельных драйвера: в em оставлена поддержка чипов 82575 и клиентских сетевых карт, а в драйвер igb вынесена поддержка новых серверных адаптеров;
    • До состояния ядра Linux 3.7 обновлён стек OFED (OpenFabrics Enterprise Distribution), в состав которого входит набор драйверов и сопутствующих утилиты для обеспечения работы Infiniband-контроллеров, используемых для организации высокоскоростных соединений серверов и организации поддержки технологии RDMA (Remote Direct Memory Access).
  • Приложения
    • В качестве пакетного менеджера по умолчанию задействован пакетный менеджер pkg, который предоставляет интерфейс в стиле пакетного менеджера APT и обеспечивает поддержку таких функций, как обновление пакетов, работа с репозиториями бинарных пакетов, учёт зависимостей и полноценные средства для работы с метаданными. Для установки бинарных пакетов предлагается использовать репозиторий pkg.FreeBSD.org. Обеспечена поддержка проверки валидности бинарных пакетов из pkg-репозитория по цифровой подписи. Поддержка pkg_add, pkg_delete и подобных утилит прекращена.
    • Утилита GNU make заменена на bmake, созданные в рамках проекта NetBSD.

Комментариев нет:

Отправить комментарий