Открыть сервис

BSD Unix

BSD Unix — это семейство операционных систем, произошедших от исходных кодов UNIX, разработанных в Калифорнийском университете в Беркли (UC Berkeley). BSD является аббревиатурой от Berkeley Software Distribution. Исторически BSD Unix представляла собой серию расширений и модификаций к оригинальной UNIX от AT&T, впоследствии став самостоятельной операционной системой, оказавшей значительное влияние на развитие современных Unix-подобных систем, включая FreeBSD, OpenBSD, NetBSD и macOS.

История

Происхождение (1977—1980)

Первая версия Berkeley Software Distribution (1BSD) была выпущена в 1977 году Биллом Джоем и другими студентами и исследователями Калифорнийского университета в Беркли. Она представляла собой набор утилит и патчей для операционной системы UNIX, разработанной в Bell Labs. 1BSD включала такие нововведения, как текстовый редактор ex (предшественник vi) и компилятор языка Pascal. В 1978 году вышла версия 2BSD, которая дополнила систему новыми программами и исправлениями.

Расцвет: 4BSD и поддержка DARPA (1980—1983)

Ключевым моментом в истории BSD стала поддержка со стороны Агентства перспективных исследовательских проектов Министерства обороны США (DARPA). DARPA требовалась надёжная операционная система с поддержкой сетей для своих проектов, и в 1980 году заключила контракт с UC Berkeley на доработку UNIX. Результатом стала версия 4.0BSD (1980) и 4.1BSD (1981), которые значительно улучшили производительность, добавили поддержку виртуальной памяти и новую файловую систему. Следом вышли 4.2BSD (1983) и 4.3BSD (1986), в которых была реализована стековая сетевая архитектура TCP/IP — одна из первых и наиболее стабильных реализаций этого протокола. Именно из BSD происходит большинство сетевых утилит, ставших стандартом (например, tcpdump, rlogin, rsh).

Юридические споры и распад (1989—1994)

В 1989 году Университет выпустил Networking Release 1 (Net/1) — первую версию BSD, распространявшуюся под свободной лицензией. В 1991 году вышла Net/2, содержавшая большую часть системы без кода, лицензированного AT&T. На её основе компания Berkeley Software Design Inc. (BSDi) создала коммерческий продукт для платформы Intel x86. Это привело к судебному иску со стороны AT&T (владевшей правами на UNIX) против BSDi и Университета (1992—1994). Иск был урегулирован во внесудебном порядке в 1994 году: большая часть спорного кода была признана свободной от претензий AT&T. Результатом стало выпуск 4.4BSD-Lite — полностью легальной и свободной версии BSD, которая стала основой для всех последующих современных потомков BSD.

Современные потомки BSD

Основные активно развиваемые операционные системы, ведущие происхождение от 4.4BSD, включают:

  • FreeBSD — наиболее распространённая BSD-система, ориентированная на производительность, масштабируемость и лёгкость в использовании. Широко применяется на серверах, в облачной инфраструктуре и в качестве основы для других проектов (например, TrueNAS, pfSense — до перехода на более новые версии FreeBSD). Отличается обширной коллекцией портов (портированных приложений) — pkg.
  • OpenBSD — система, ставящая во главу угла безопасность, криптографию и аудит кода. Разработчики OpenBSD известны строгим подходом к написанию кода без уязвимостей, активной работой над исправлением ошибок и оригинальными проектами, такими как пакет инструментов OpenSSH, LibreSSL (форк OpenSSL) и демон-маршрутизатор pf.
  • NetBSD — платформонезависимая система, предназначенная для работы на максимальном количестве аппаратных платформ, от встраиваемых устройств и старых машин до современных 64-битных процессоров. Девиз NetBSD — «Of course it runs NetBSD».
  • DragonFly BSD — дочерний проект от FreeBSD (основан в 2003 году Мэттом Диллоном), внёсший существенные изменения в диспетчер памяти и ядро. Известен использованием концепции асинхронного буферизированного обмена сообщениями (HAMMER — высокопроизводительная файловая система).

Кроме того, ядро Darwin, лежащее в основе macOS и iOS от Apple, также основано на коде FreeBSD и Mach microkernel. Многие компоненты командной строки в macOS происходят из FreeBSD (например, ls, cp, grep, ps), что делает macOS сертифицированной UNIX-системой (соответствие стандарту POSIX).

Характеристики и архитектура

Ядро

BSD-системы используют монолитное ядро с модульной архитектурой (допускается загрузка модулей). Ядро BSD управляет памятью, процессами, файловой системой, вводом-выводом и сетевым стеком. В отличие от Linux, BSD не является Unix-подобной системой в строгом смысле, а является прямым наследником классического UNIX, поэтому её ядро имеет более строгую и унифицированную архитектуру.

Лицензия BSD

Большинство современных BSD-систем распространяются под лицензией BSD (в трёх- или двухпунктном вариантах). Это пермиссивная лицензия, которая позволяет использовать, модифицировать и распространять код (в том числе в коммерческих целях) с минимальными ограничениями — обычно требуется лишь сохранение уведомления об авторстве. В отличие от лицензии GPL, BSD не требует, чтобы модифицированные версии оставались открытыми.

Пакетный менеджер и порты

Для установки стороннего ПО BSD-системы традиционно используют систему портов — набор Make-файлов и скриптов, автоматизирующих сборку программ из исходных кодов. Впоследствии были разработаны бинарные пакетные менеджеры: pkg (FreeBSD), pkg_add (OpenBSD), pkg_install (NetBSD). Порты остаются популярными для пользователей, желающих собирать софт с особыми параметрами.

Стабильность и совместимость

Разработчики BSD уделяют большое внимание стабильности и согласованности системы. Ядро и пользовательское пространство обычно распространяются как единое целое. Это контрастирует с моделью Linux, где ядро, библиотеки и окружение разрабатываются разными группами. Благодаря этому BSD-системы традиционно считаются более стабильными и предсказуемыми, особенно в серверном сегменте.

Применение

  • Серверы и инфраструктура — FreeBSD широко используется на веб-серверах, почтовых серверах, файловых серверах и в облачных дата-центрах. Сетевой стек BSD считается одним из лучших по производительности. На FreeBSD работают, например, многие серверы Yahoo! (до перехода на собственную платформу), Netflix (доставка стриминга).
  • Маршрутизаторы и файрволы — OpenBSD и FreeBSD (с пакетом pf) используются в устройствах и программных маршрутизаторах. На FreeBSD построены многие коммерческие системы безопасности.
  • Встраиваемые системы — NetBSD и OpenBSD можно встретить на маршрутизаторах, сетевых устройствах, роутерах от известных вендоров, а также на старых игровых консолях, NAS-хранилищах и устройствах IoT.
  • Научные исследования и образование — BSD традиционно используется в университетских компьютерных лабораториях и исследовательских центрах благодаря открытости и документированности кода.

Сравнение с Linux

BSD и Linux — два основных семейства свободных Unix-подобных операционных систем. Ключевые различия:

ПараметрBSDGNU/Linux
ЯдроОднородное ядро, строгая архитектураМонолитное ядро с динамической загрузкой модулей
Пользовательское окружениеВходит в состав базовой системы (однородно)Разрабатывается отдельными проектами (GNU, Gnome, KDE, etc.)
ЛицензияПермиссивная (BSD)Копилефт (GNU GPL)
Управление проектомЦентрализованное (core team)Децентрализованное (Linus Torvalds, множество отдельных проектов)
Пакетный менеджерPorts/pkgsrc + бинарные менеджеры (pkg)APT, YUM, DNF, Pacman, Zypper и др.
Инициация процесса (init)BSD-style init (rc.d)systemd, SysV, Upstart (различается по дистрибутивам)
СтабильностьВысокая, акцент на предсказуемостьВысокая, но может варьироваться между дистрибутивами
Аппаратная поддержкаОграниченная (шире у NetBSD, меньше у OpenBSD)Очень широкая (больше драйверов)

BSD обычно выбирают за надёжность, безопасность и строгую архитектуру, Linux — за широчайшую поддержку оборудования, огромное сообщество и многообразие дистрибутивов.

Литература и источники

  • Marshall Kirk McKusick, Keith Bostic, Michael J. Karels, John S. Quarterman. The Design and Implementation of the 4.4BSD Operating System — основополагающий учебник по архитектуре BSD.
  • FreeBSD Handbook — официальное руководство FreeBSD.
  • OpenBSD FAQ — справочные материалы по OpenBSD.
  • «A Quarter Century of Unix» — историческая статья Питера Салманова.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →