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-подобных операционных систем. Ключевые различия:
| Параметр | BSD | GNU/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 →