4.4BSD-Lite
4.4BSD-Lite — это версия операционной системы семейства BSD (Berkeley Software Distribution), выпущенная в 1994 году Калифорнийским университетом в Беркли. Она представляет собой свободно распространяемую, очищенную от лицензионных ограничений AT&T Unix редакцию исходного кода, которая стала основой для многих современных BSD-систем, включая FreeBSD, NetBSD и OpenBSD. 4.4BSD-Lite является последней версией BSD, разработанной непосредственно в Computer Systems Research Group (CSRG) Беркли, и знаменует собой завершение эпохи академической разработки Unix.
История
Предпосылки создания
К началу 1990-х годов BSD-системы, разрабатывавшиеся в Беркли, включали в себя значительный объём кода, лицензированного у AT&T. Это было связано с тем, что ранние версии BSD (1BSD, 2BSD) базировались на исходных текстах Unix Version 6 и Version 7. Впоследствии, в 4.3BSD и 4.3BSD Tahoe, код AT&T был частично заменён, но оставался в ядре и некоторых утилитах. Это создавало юридические препятствия для свободного распространения BSD за пределами академических кругов.
Судебный процесс USL против BSDi
В 1992 году компания Unix System Laboratories (USL), принадлежавшая AT&T, подала иск против Berkeley Software Design, Inc. (BSDi) и Калифорнийского университета. USL утверждала, что BSDi нарушает авторские права AT&T, распространяя коммерческую версию BSD/OS, а также что исходный код 4.3BSD содержит конфиденциальную интеллектуальную собственность AT&T. Судебный процесс длился около двух лет и создал неопределённость вокруг легальности распространения BSD-систем.
Выпуск 4.4BSD-Lite
Для урегулирования спора CSRG Беркли провела масштабную работу по аудиту исходного кода 4.4BSD. Из системы были удалены все файлы, содержащие код, лицензированный у AT&T, а также любые элементы, которые могли быть признаны производными от него. В результате была сформирована версия 4.4BSD-Lite (также известная как 4.4BSD-Lite Release 1 или 4.4BSD-Lite R1), выпущенная в июне 1994 года. Она распространялась по лицензии BSD, которая позволяла использовать, модифицировать и распространять код без ограничений, при условии сохранения уведомления об авторских правах.
После завершения судебного процесса в январе 1994 года (решение было вынесено в пользу Университета Беркли и BSDi) стало ясно, что 4.4BSD-Lite является единственной легально чистой версией BSD для свободного распространения. Вскоре после этого, в 1995 году, вышла 4.4BSD-Lite Release 2, которая включала дополнительные исправления и улучшения, но не содержала принципиальных архитектурных изменений.
Завершение работы CSRG
Выпуск 4.4BSD-Lite стал последним крупным проектом Computer Systems Research Group. После завершения судебного процесса и выпуска финальных версий, CSRG была расформирована в 1995 году. Разработка BSD продолжилась силами сообщества и коммерческих компаний, взявших за основу именно 4.4BSD-Lite.
Архитектура и ключевые особенности
4.4BSD-Lite унаследовала архитектуру 4.4BSD, которая включала несколько значительных нововведений по сравнению с более ранними версиями Unix.
Монолитное ядро с модульной структурой
Ядро 4.4BSD-Lite является монолитным, но при этом поддерживает динамическую загрузку модулей (например, драйверов устройств через LKM — Loadable Kernel Modules). Основные подсистемы ядра:
- Управление процессами — планировщик, основанный на приоритетах, поддержка многозадачности и сигналов.
- Управление памятью — виртуальная память с подкачкой страниц (paging) и механизмом отображения (mmap).
- Файловая система — поддержка UFS (Unix File System) с журналированием (в 4.4BSD-Lite R2) и расширенными атрибутами.
- Сетевая подсистема — реализация стека протоколов TCP/IP, включая поддержку сокетов (Berkeley sockets), которые стали стандартом для Unix-подобных систем.
Виртуальная файловая система (VFS)
В 4.4BSD-Lite была реализована абстракция VFS (Virtual File System), позволяющая одновременно работать с несколькими типами файловых систем (UFS, NFS, MS-DOS FS, ISO 9660). Это обеспечило прозрачный доступ к данным на разных носителях и через сеть.
Сетевая подсистема
Сетевая подсистема 4.4BSD-Lite включала:
- Полную реализацию стека TCP/IP (IPv4) с поддержкой маршрутизации, мультиплексирования и фильтрации пакетов.
- Поддержку протоколов UDP, ICMP, ARP.
- Реализацию сокетов для доменов AF_INET (IPv4) и AF_UNIX (локальные сокеты).
- Встроенный брандмауэр (ipfw) и поддержку NAT (Network Address Translation).
Безопасность и управление доступом
Система использовала классическую модель Unix с пользователями, группами и правами доступа (чтение/запись/исполнение). Дополнительно были реализованы:
- Механизм
chrootдля изоляции процессов. - Поддержка
setuid/setgidдля повышения привилегий. - Журналирование событий безопасности через
syslog.
Состав дистрибутива
4.4BSD-Lite распространялась в виде исходных кодов и включала следующие компоненты:
- Ядро — полный исходный код ядра для архитектур Intel x86 (i386), DEC Alpha, HP PA-RISC, SPARC и MIPS.
- Базовые утилиты — командный интерпретатор (sh, csh), файловые утилиты (cp, mv, rm, ls), текстовые редакторы (ed, vi), компиляторы (cc — на основе GCC), ассемблер, линковщик.
- Сетевые службы — серверы и клиенты для FTP, Telnet, NFS, DNS (BIND), DHCP.
- Системные библиотеки — libc (стандартная библиотека C), libm (математическая библиотека), libpthread (потоки).
- Документация — man-страницы, технические отчёты (CSRG Technical Reports).
Влияние на современные операционные системы
4.4BSD-Lite стала фундаментом для большинства современных BSD-систем:
FreeBSD
FreeBSD была основана в 1993 году на коде 4.3BSD Net/2, но после судебного процесса перешла на 4.4BSD-Lite. Она активно развивается и используется в серверных решениях, встраиваемых системах и как основа для macOS (через Darwin).
NetBSD
NetBSD, основанная в 1993 году, также базируется на 4.4BSD-Lite. Её главная особенность — портируемость на множество аппаратных платформ (более 50 архитектур).
OpenBSD
OpenBSD была форкнута от NetBSD в 1995 году и также использует код 4.4BSD-Lite. Она уделяет особое внимание безопасности и аудиту кода.
Другие системы
- BSD/OS (коммерческая система от BSDi) — была построена на 4.4BSD-Lite.
- Darwin (ядро macOS) — содержит компоненты, унаследованные от 4.4BSD-Lite, включая сетевую подсистему и файловую систему UFS.
Лицензирование
4.4BSD-Lite распространяется по лицензии BSD (Berkeley Software Distribution License). Это разрешительная лицензия, которая позволяет:
- Использовать код в коммерческих продуктах без уплаты роялти.
- Модифицировать и распространять код как в исходном, так и в бинарном виде.
- Требует только сохранения уведомления об авторских правах и отказа от ответственности.
Эта лицензия считается одной из самых свободных и способствовала широкому распространению кода 4.4BSD-Lite в различных проектах, включая встраиваемые системы и коммерческие ОС.
Критика и ограничения
Несмотря на историческую значимость, 4.4BSD-Lite имела ряд недостатков:
- Отсутствие поддержки современных архитектур — система не поддерживала x86-64 (AMD64), ARM, RISC-V и другие современные процессоры.
- Устаревшие драйверы — поддержка оборудования была ограничена устройствами начала 1990-х годов.
- Ограниченная многозадачность — планировщик не поддерживал вытесняющую многозадачность в пользовательском пространстве (которая появилась позже в FreeBSD).
- Отсутствие графической подсистемы — система поставлялась только с текстовым интерфейсом; поддержка X Window System требовала отдельной установки.
Интересные факты
- 4.4BSD-Lite стала последней версией BSD, выпущенной Калифорнийским университетом в Беркли. После этого разработка перешла к сообществу.
- Исходный код 4.4BSD-Lite до сих пор доступен для изучения и скачивания на официальном архиве CSRG.
- Многие алгоритмы и протоколы, реализованные в 4.4BSD-Lite (например, TCP/IP-стек), стали стандартами де-факто для Unix-подобных систем.
Источники
- McKusick, M. K., Bostic, K., Karels, M. J., & Quarterman, J. S. (1996). The Design and Implementation of the 4.4BSD Operating System. Addison-Wesley.
- McKusick, M. K. (1999). Twenty Years of Berkeley Unix: From AT&T-Owned to Freely Redistributable. Open Sources: Voices from the Open Source Revolution.
- Salus, P. H. (1994). A Quarter Century of Unix. Addison-Wesley.
- Официальный архив CSRG (Computer Systems Research Group) — 4.4BSD-Lite Release 1 и Release 2.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →