--- title: "О технологических преимуществах FreeBSD" sidenav: about --- = О технологических преимуществах FreeBSD == FreeBSD предоставляет множество уникальных возможностей. Вне зависимости от цели её применения, операционная система должна использовать все возможности доступных ей ресурсов. Для раскрытия полного потенциала вычислительной системы FreeBSD фокусируется на производительности, сетевых функциях и хранении данных, а также простом системном администрировании и исчерпывающей документации. === Полноценная операционная система, основанная на 4.4BSD link:https://freebsdfoundation.org/freebsd/timeline/[История FreeBSD] берёт начало из дистрибутивов *BSD*, выпущенных Группой Исследования Вычислительных Систем (Computer Systems Research Group) Калифорнийского Университета в Беркли. Десятки лет работы дали результат в виде передовых возможностей в области масштабируемости, сетевой производительности, инструментов управления, поддержки файловых систем, безопасности и другие функциях. FreeBSD широко распространена в сети Интернет и обеспечивает работу ключевых маршрутизаторов, корневых серверов системы доменных имён, используется для размещения крупнейших веб-сайтов, а также в качестве основы распространённых операционных систем для настольных компьютеров. [[features]] == Возможности [[openzfs]] === OpenZFS Являясь больше, чем одной из традиционных файловых систем, ZFS фундаментально отличается от них. Комбинация обычно разделяемых ролей программного RAID, менеджера томов и файловой системы даёт ZFS уникальные преимущества. В ZFS заложены три основные цели: * Целостность данных * Объединение дискового пространства в пулы * Производительность. [[zfs-boot-environments]] === Загрузочные окружения ZFS Загрузочное окружение ZFS представляет собой клон или мгновенную копию частей системы, специально отобранных ранее, и которые могут использоваться для её загрузки. Сценарии использования таковы: * Надёжные обновления/изменения системы * Создание безопасного резервного загрузочного окружения ZFS перед обновлением или изменением системы * Обновление нового (неактивного) системного окружения без изменения активного * Выполнение обновления и тестирование результатов внутри изолятора (jail) * Копирование/перемещение загрузочного окружения ZFS на другую машину * Значительная переконфигурация (Bareos/Postfix/...) * Массовое развёртывание большого количества серверов с одним настроенным загрузочным окружением * Решение для резервного копирования на уровне оборудования. [[jails]] === Изоляторы Изоляторы появились во FreeBSD 4.X. Они построены на базе man:chroot[8], который меняет корневой каталог. Это создаёт безопасную среду, отделённую от остальной системы. Процессы, созданные в изолированном окружении, не могут получить доступ к файлам или ресурсам за его пределами. Изоляторы лучше chroot с нескольких точек зрения. В традиционной среде с chroot процессы ограничены частью файловой системы. Остальные системные ресурсы, системные пользователи, работающие процессы и сетевые функции используются совместно как процессами в окружении chroot, так и процессами хостирующей системы. Изоляторы ещё строже ограничивают доступ к файловой системе, пользователям и сетевым функциям. Также доступны ещё более тонкие средства контроля доступа. [[ports-collection]] === Коллекция портов Более 35 000 приложений и библиотек link:https://ports.freebsd.org[портировано] во FreeBSD. Эта архитектура позволяет легко настраивать параметры компиляции для многих портов. [[virtualization]] === Виртуализация link:https://bhyve.org/[bhyve]: современный гипервизор с лицензией BSD, работающий со всеми поддерживаемыми версиями FreeBSD, а также другими операционными системами с поддержкой UEFI, включая, но не ограничиваясь link:https://www.openbsd.org/[OpenBSD], link:https://www.microsoft.com/en-us/windows/[Windows(R)] и link:https://kernel.org/[Linux(R)], с использованием bhyve-firmware. [[linuxulator]] === Бинарная совместимость с Linux Механизм бинарной совместимости с Linux, часто называемый link:https://wiki.freebsd.org/Linuxulator[Linuxulator], позволяет FreeBSD напрямую запускать многие исполняемые файлы Linux. При этом технологии виртуальных машин или эмуляции не задействуются; вместо этого исполняемым файлам предоставляются интерфейсы ядра, идентичные тем, что предоставляет оригинальное ядро Linux. Linuxulator можно сравнить с запуском 32-разрядных исполнимых файлов FreeBSD на 64-разрядном ядре FreeBSD. [[dtrace]] === DTrace Технология DTrace, также известная как Dynamic Tracing, была разработана Sun Microsystems(TM) для поиска узких мест производительности в системах, работающих в режимах промышленной и опытно-промышленной эксплуатации. Кроме того, DTrace может помочь в анализе и отладке отклонений в работе ядра и пользовательского окружения. DTrace обладает впечатляющим набором функций. Он поддерживает сценарии. Разработчики могут использовать D, язык DTrace, для создания инструментов гибкого профилирования. Реализация FreeBSD обеспечивает полную поддержку DTrace для ядра и экспериментальную поддержку для пользовательского окружения. DTrace для пользовательского окружения позволяет пользователям выполнять трассировку границ функций для пользовательских программ с использованием источника идентификатора процесса (pid), а также вставлять статические проверки в пользовательские программы для последующей трассировки. [[capsicum]] === Capsicum Capsicum позволяет запускать в песочнице несколько программ, работающих в "ограниченном режиме", таких как: * tcpdump * dhclient * hastd * rwhod * kdump. [[vnet]] === Виртуализация сети VNET виртуализирует сетевой стек. Основная идея заключается в преобразовании глобально доступных ресурсов (в первую очередь переменных) в ресурсы, доступные каждому набору сетевых протоколов по отдельности, реализовать доступ к функциям, параметрам sysctl, обработчикам событий и так далее, и работать с ними в контексте соответствующего экземпляра. Каждый (виртуальный) набор сетевых протоколов прикреплён к некоторому ограничивающему объекту, при этом vnet0 является ничем не ограниченным сетевым стеком, используемым по умолчанию в базовой системе. Функции `VIMAGE` могут использоваться и независимо, в целях создания полностью виртуализированных сетевых топологий, а man:jail[8] может напрямую пользоваться преимуществами полностью виртуализированного сетевого стека. // // The FreeBSD Russian Documentation Project // // Original EN revision (16.05.2026): 6dae78c5e77082416322b1f921a5a7d50cb9a801 //