FreeBSD The Power to Serve

О технологических преимуществах FreeBSD

FreeBSD предоставляет множество уникальных возможностей.

Вне зависимости от типа вашего приложения вы хотите, чтобы ресурсы системы использовались максимально эффективно. Средоточие FreeBSD на производительности, сетевом взаимодействии и хранении данных вкупе с простым системным администрированием и прекрасной документацией позволяет достичь этого.

Полноценная операционная система, основанная на 4.4BSD.

История FreeBSD берет начало из дистрибутивов BSD, выпущенных Группой Исследования Вычислительных Систем (Computer Systems Research Group) Калифорнийского Университета (Беркли). Десятки лет работы было вложено в улучшение масштабируемости, сетевой производительности, а также в новые инструменты управления, файловые системы, безопасность и другие функуии. В итоге FreeBSD можно обнаружить по всему Интернету, в операционных системах опорных маршрутизаторов, на корневых серверах имен, в работе хостинга крупных веб-сайтов и как основу для широко используемых десктопных операционных систем.

Возможности

OpenZFS

ZFS — это не просто файловая система, она принципиально отличается от традиционных файловых систем. Объединение традиционно раздельных ролей программного RAID, менеджера томов и файловой системы предоставляет ZFS уникальные преимущества.

Три основные цели ZFS:

  • Целостность данных

  • Объединенное хранилище

  • Производительность.

Загрузочные окружения ZFS

Загрузочное окружение ZFS — это загружаемый клон/снимок специально выбранных частей системы.

Области применения включают:

  • Надежные обновления/изменения системы

  • Создание безопасного резервного загрузочного окружения ZFS перед обновлением или изменениями системы

  • Обновление нового (неактивного) окружения без изменения активного

  • Выполнение обновления и тестирование результатов внутри клетки (jail)

  • Копирование/перемещение загрузочного окружения ZFS на другую машину

  • Значительная переконфигурация (Bareos/Postfix/…​)

  • Массовое развертывание большого количества серверов с одним настроенным загрузочным окружением

  • Резервное копирование на уровне оборудования.

Клетки (jail)

Клетки появились в FreeBSD 4.X.

Они построены на основе chroot(8), который изменяет корневой каталог. Это создает безопасную среду, отделенную от остальной системы. Процессы, созданные в окружении клетки, не могут получить доступ к файлам или ресурсам за его пределами.

Клетки улучшают chroot несколькими способами. В традиционной chroot-среде процессы ограничены частью файловой системы. Остальные системные ресурсы, системные пользователи, запущенные процессы и сетевая подсистема являются общими для chroot-процессов и процессов хост-системы. Клетки дополнительно ограничивают доступ к файловой системе, набору пользователей и сетевой подсистеме. Доступны более детализированные средства контроля доступа.

Коллекция портов

Более 35 000 приложений и библиотек портировано в FreeBSD. Эта архитектура позволяет легко настраивать параметры компиляции для многих портов.

Виртуализация

bhyve: гипервизор с лицензией BSD, не требующий поддержки устаревших технологий, который запускает все поддерживаемые версии FreeBSD, а также другие операционные системы с поддержкой UEFI, включая, но не ограничиваясь OpenBSD, Windows® и Linux®, с использованием bhyve-firmware.

Совместимость с исполняемыми файлами Linux (Linuxulator)

Совместимость с исполняемыми файлами Linux, часто называемая Linuxulator, позволяет FreeBSD запускать многие неизмененные исполняемыми файлами Linux. Это не связано с виртуальными машинами или эмуляцией; вместо этого она предоставляет исполняемым файлам интерфейсы ядра, идентичные тем, которые предоставляет настоящее ядро Linux. Linuxulator сравним с запуском 32-битных FreeBSD-бинарников на 64-битном ядре FreeBSD.

DTrace

DTrace, также известный как Dynamic Tracing, был разработан Sun Microsystems™ для поиска узких мест производительности в рабочих и предпроизводственных системах. Кроме того, DTrace может помочь в исследовании и отладке неожиданного поведения в ядре и в пользовательском пространстве.

DTrace обладает впечатляющим набором функций. Он поддерживает сценарии. Разработчики могут использовать язык DTrace D для создания утилит для пользовательского профилирования.

Реализация FreeBSD предоставляет полную поддержку DTrace для ядра и экспериментальную поддержку для пользовательского пространства. DTrace для пользовательского пространства позволяет пользователям выполнять трассировку границ функций для пользовательских программ с использованием поставщика трассировки по идентификатору процесса (pid) и вставлять статические пробы в пользовательские программы для последующей трассировки.

Capsicum

Capsicum позволяет запускать в песочнице несколько программ, которые работают в «режиме возможностей» (capabilities mode), таких как:

  • tcpdump

  • dhclient

  • hast

  • rwhod

  • kdump.

Сетевая виртуализация (VNET)

VNET виртуализирует сетевой стек. Основная идея заключается в преобразовании глобальных ресурсов (в первую очередь переменных) в ресурсы для каждого сетевого стека и обеспечении доступа к ним и управления ими функциями, sysctl, обработчиками событий и т.д. в контексте правильного экземпляра. Каждый (виртуальный) сетевой стек прикреплен к prison (тюрьме), при этом vnet0 является неограниченным сетевым стеком по умолчанию базовой системы. Возможности VIMAGE могут использоваться независимо для создания полностью виртуализированных сетевых топологий, а jail(8) может напрямую использовать преимущества полностью виртуализированного сетевого стека.


Дата последнего изменения: 2 декабря 2025 г. выполнил Vladlen Popolitov