Berkeley Software Distribution
Berkeley Software Distribution (BSD, Берклиевская дистрибуция программного обеспечения) — это историческая операционная система, разработанная в Калифорнийском университете в Беркли (США) на основе исходных кодов UNIX. BSD стала одной из наиболее влиятельных ветвей в истории UNIX-подобных систем, оказав значительное влияние на развитие сетевых технологий, файловых систем и лицензирования свободного программного обеспечения. На основе BSD были созданы такие современные операционные системы, как FreeBSD, OpenBSD, NetBSD и macOS (частично).
История
Истоки и первые версии (1977—1979)
Разработка BSD началась в 1977 году, когда выпускник Калифорнийского университета в Беркли Билл Джой (Bill Joy) создал первую версию дистрибуции на основе шестой редакции UNIX (V6) от Bell Labs. Изначально BSD представляла собой набор дополнительных программ и утилит, включая текстовый редактор ex (предшественник vi), компилятор Паскаля и улучшенную командную оболочку csh (C shell). Первая версия, получившая название 1BSD, распространялась в виде набора магнитных лент.
Развитие и коммерциализация (1980—1984)
В 1979 году вышла 2BSD, которая включала уже более 100 программ. Ключевым нововведением стал редактор vi, который стал стандартом для UNIX-систем. В 1980 году Университет Беркли заключил контракт с DARPA (Агентство перспективных оборонных исследовательских проектов США) на адаптацию BSD для работы в сети ARPANET. Это привело к созданию 4.1BSD (1981) и 4.2BSD (1983), в которых была реализована стек протоколов TCP/IP. 4.2BSD стала первой операционной системой, в которой TCP/IP был интегрирован на уровне ядра, что сделало её основой для многих сетевых проектов.
Эпоха 4.x BSD (1986—1993)
В 1986 году вышла 4.3BSD, которая включала улучшенную файловую систему (FFS — Fast File System), поддержку виртуальной памяти и более стабильную сетевую подсистему. В этот период BSD активно использовалась в академических и исследовательских учреждениях. В 1989 году была выпущена 4.3BSD Net/1 — первая версия, распространяемая без лицензионных отчислений AT&T. Это стало возможным благодаря тому, что большая часть кода была написана в Беркли, а не заимствована из оригинального UNIX.
Судебные споры и раскол (1992—1994)
В 1992 году компания BSDi (Berkeley Software Design, Inc.) выпустила коммерческую операционную систему BSD/OS, основанную на коде 4.3BSD Net/2. В ответ AT&T (через своё подразделение Unix System Laboratories) подала иск против BSDi и Университета Беркли, обвиняя их в нарушении авторских прав и разглашении коммерческой тайны. Судебный процесс длился до 1994 года и завершился мировым соглашением: AT&T признала, что большая часть кода BSD не нарушает её прав, но из 4.4BSD-Lite были удалены три файла, признанные спорными. После этого Университет Беркли выпустил 4.4BSD-Lite, которая стала полностью свободной от претензий AT&T. Этот инцидент привёл к расколу сообщества и появлению независимых проектов — FreeBSD, NetBSD и OpenBSD.
Завершение разработки (1995)
Последней версией, выпущенной непосредственно Калифорнийским университетом в Беркли, стала 4.4BSD-Lite Release 2 (1995). После этого разработка BSD была полностью передана сообществу. Университет прекратил активную поддержку проекта, сосредоточившись на других исследовательских направлениях.
Классификация
BSD является одной из ветвей UNIX-подобных операционных систем. В отличие от System V (другой основной ветви UNIX), BSD отличалась:
- Сетевой архитектурой: стек TCP/IP был частью ядра, а не внешней надстройкой.
- Файловой системой: FFS (Fast File System) обеспечивала более высокую производительность и надёжность по сравнению с оригинальной файловой системой UNIX.
- Утилитами: многие стандартные команды (например,
ls,cp,mv) имели отличные от System V опции. - Лицензированием: BSD-лицензия (BSD License) является одной из самых разрешительных лицензий свободного программного обеспечения, позволяющей использовать код как в свободных, так и в проприетарных проектах.
Архитектура и характеристики
Ядро
Ядро BSD (BSD Kernel) реализует монолитную архитектуру, в которой все основные подсистемы (управление процессами, памятью, файловыми системами, сетью) работают в пространстве ядра. Ключевые компоненты:
- Сетевой стек: реализация TCP/IP, UDP, ICMP, ARP и других протоколов.
- Файловая система: поддержка FFS, UFS (Unix File System), а также сетевых файловых систем (NFS).
- Виртуальная память: страничная организация памяти с поддержкой разделения.
Пользовательское пространство
BSD включает стандартный набор утилит и командных оболочек, таких как sh (Bourne shell), csh (C shell) и tcsh. В более поздних версиях появилась поддержка POSIX-совместимости.
Лицензия
BSD-лицензия (BSD License) — это разрешительная лицензия, которая позволяет использовать, модифицировать и распространять код как в свободных, так и в проприетарных проектах при условии сохранения уведомления об авторских правах. Существует несколько вариантов лицензии (2-пунктная, 3-пунктная, 4-пунктная), различающихся требованиями к рекламе и указанию авторства.
Применение и значение
Влияние на развитие Интернета
BSD сыграла ключевую роль в становлении Интернета. В 4.2BSD была впервые реализована эталонная реализация стека TCP/IP, которая стала основой для большинства сетевых операционных систем 1980-х — 1990-х годов. Многие протоколы и сервисы, такие как DNS (Berkeley Internet Name Domain), были разработаны в рамках проекта BSD.
Современные потомки
На основе кода BSD были созданы несколько активно развивающихся операционных систем:
- FreeBSD (основана в 1993) — ориентирована на производительность и совместимость, широко используется в серверных решениях, встраиваемых системах и как основа для многих коммерческих продуктов (например, PlayStation 4 и Nintendo Switch используют модифицированные версии FreeBSD).
- NetBSD (основана в 1993) — нацелена на переносимость, поддерживает более 50 аппаратных платформ.
- OpenBSD (основана в 1995) — уделяет особое внимание безопасности и корректности кода, известна своими проектами OpenSSH и OpenNTPD.
- DragonFly BSD (основана в 2003) — форк FreeBSD, ориентированный на многопроцессорные системы и новые файловые системы.
Коммерческое использование
Код BSD был использован в таких коммерческих продуктах, как:
- macOS (и её предшественник NeXTSTEP) — ядро XNU (X is Not Unix) основано на микроядре Mach и коде FreeBSD.
- Microsoft Windows — в ранних версиях Windows NT использовался стек TCP/IP, основанный на BSD-коде.
- Cisco IOS — сетевая операционная система для маршрутизаторов Cisco использует код BSD для реализации сетевых протоколов.
Критика
Основные претензии к BSD со стороны сообщества свободного программного обеспечения связаны с её лицензией. В отличие от GNU General Public License (GPL), BSD-лицензия не требует, чтобы производные работы распространялись под той же лицензией. Это позволяет компаниям включать BSD-код в проприетарные продукты без публикации изменений. Сторонники BSD, напротив, считают это преимуществом, так как лицензия стимулирует коммерческое использование и распространение кода.
Также отмечается, что BSD-системы исторически уступали Linux в поддержке аппаратного обеспечения и количестве доступных приложений, хотя в последние годы разрыв значительно сократился.
Интересные факты
- BSD является одной из немногих операционных систем, чья история насчитывает более 40 лет непрерывного развития.
- Талисманом BSD является демон (BSD Daemon), стилизованное изображение красного демона с трезубцем, созданное художником Джоном Лэсситером (John Lasseter) в 1988 году.
- Название «Berkeley Software Distribution» происходит от того, что первоначально дистрибуция распространялась как набор лент с программным обеспечением, выпускаемых Калифорнийским университетом в Беркли.
Источники
- McKusick, M. K., Bostic, K., Karels, M. J., & Quarterman, J. S. (1996). The Design and Implementation of the 4.4BSD Operating System. Addison-Wesley.
- Quarterman, J. S., & Hoskins, J. (1985). «Notable Computer Networks». Communications of the ACM, 28(1), 10-28.
- Salus, P. H. (1994). A Quarter Century of UNIX. Addison-Wesley.
- Документация проекта FreeBSD. FreeBSD Handbook.
- Официальный сайт проекта OpenBSD. OpenBSD: Project Goals.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →