Разработчик | Computer Systems Research Group |
---|---|
Написано на | C |
Семейство ОС | Unix |
Рабочее состояние | Снято с производства |
Исходная модель | Первоначально с исходным кодом, позже с открытым исходным кодом |
Первый выпуск | 1977 г.; 43 года назад (1977) |
Последний выпуск | 4.4-Lite2 / 1995 |
Доступен на | английском |
Платформах | PDP-11, VAX, Intel 80386 |
Ядро тип | Монолитное |
Userland | BSD |
По умолчанию пользовательский интерфейс | оболочка Unix |
Лицензия | BSD |
Berkeley Software Distribution (BSD ) - это прекращенная операционная система, основанная на Research Unix, разработанная и распространяемая Computer Группа системных исследований (CSRG) при Калифорнийском университете, Беркли. Термин «BSD» обычно относится к его потомкам, включая FreeBSD, OpenBSD, NetBSD и DragonFly BSD.
BSD первоначально назывался Berkeley Unix, потому что он был основан на исходном коде оригинального Unix, разработанном в Bell Labs. В 1980-х годах BSD была широко принята поставщиками рабочих станций в виде проприетарных вариантов Unix, таких как DEC Ultrix и Sun Microsystems SunOS из-за его разрешительного лицензирования и знакомств со многими основателями и инженерами технологических компаний.
Хотя эти проприетарные производные BSD в 1990-х годах были в значительной степени вытеснены UNIX SVR4 и OSF / 1, более поздние выпуски послужили основой для нескольких с открытым исходным кодом операционные системы, включая FreeBSD, OpenBSD, NetBSD, DragonFly BSD, Darwin и TrueOS. Они, в свою очередь, использовались проприетарными операционными системами, включая Apple macOS и iOS, которые являются производными от них, и Microsoft Windows., который использовал (по крайней мере) часть своего кода TCP / IP, что является допустимым. Код FreeBSD также использовался для создания операционной системы для PlayStation 4 и Nintendo Switch.
Самые ранние дистрибутивы Unix от Bell Labs в 1970-е годы включали исходный код в операционную систему, что позволяло исследователям в университетах модифицировать и расширять Unix. Операционная система прибыла в Беркли в 1974 году по просьбе профессора информатики Боба Фабри, который входил в программный комитет Симпозиума по принципам операционных систем, на котором впервые была представлена Unix. Для работы системы был куплен PDP-11/45, но по бюджетным причинам эта машина использовалась совместно с математическими и статистическими группами в Беркли, которые использовали RSTS, так что Unix на машине работал только восемь часов в день (иногда днем, иногда ночью). В следующем году в Беркли был установлен более крупный PDP-11/70 на деньги, полученные от проекта базы данных Ingres.
В 1975 году Кен Томпсон взял творческий отпуск в Bell Labs и приехал в Беркли в качестве приглашенного профессора. Он помог установить версии 6 Unix и начал работать над реализацией системы на Pascal. Аспиранты Чак Хейли и Билл Джой улучшили Паскаль Томпсона и внедрили улучшенный текстовый редактор. В Беркли программным обеспечением заинтересовались другие университеты, и поэтому в 1977 году Джой начал сборку первого дистрибутива программного обеспечения Беркли (1BSD), который был выпущен 9 марта 1978 года. 1BSD была дополнением к версии 6 Unix, а не полноценной операционной системой. система сама по себе. Было разослано около тридцати копий.
Второй дистрибутив программного обеспечения Беркли (2BSD), выпущенный в мае 1979 года, включал обновленные версии программного обеспечения 1BSD, а также две новые программы Джой, которые сохраняются в системах Unix по сей день. : текстовый редактор vi (версия) и оболочка C. Билл Джой разослал около 75 копий 2BSD.
VAX-11/780, типичный мини-компьютер, используемый для ранних систем разделения времени BSDA Компьютер VAX был установлен в Беркли в 1978, но порт Unix на архитектуру VAX, UNIX / 32V, не использовал преимущества виртуальной памяти VAX. Ядро 32V было в значительной степени переписано, чтобы включить в него реализацию виртуальной памяти аспиранта Беркли Озалпа Бабаоглу и полную операционную систему, включая новое ядро, порты утилит 2BSD на VAX, а утилиты от 32V были выпущены как 3BSD в конце 1979 года. 3BSD также альтернативно назывался Virtual VAX / UNIX или VMUNIX (для виртуальной памяти Unix), а образы ядра BSD обычно назывались / vmunix
до тех пор, пока 4.4BSD.
После выпуска 4.3BSD в июне 1986 года было решено, что BSD отойдет от устаревшего Платформа VAX. Платформа Power 6/32 (кодовое название «Tahoe»), разработанная Computer Consoles Inc., казалась многообещающей в то время, но вскоре после этого разработчики отказались от нее. Тем не менее, порт 4.3BSD-Tahoe (июнь 1988 г.) оказался ценным, так как он привел к разделению машинно-зависимого и машинно-независимого кода в BSD, что улучшило переносимость системы в будущем.
Помимо переносимости, CSRG работала над реализацией стека сетевых протоколов OSI, улучшениями системы виртуальной памяти ядра и (с Van Jacobson из LBL ) новые алгоритмы TCP / IP для приспособления к росту Интернета.
До тех пор все версии BSD использовали собственный код ATT Unix и, следовательно, подпадали под действие лицензии на программное обеспечение ATT. Лицензии на исходный код стали очень дорогими, и несколько сторонних организаций выразили заинтересованность в отдельном выпуске сетевого кода, который был полностью разработан вне ATT и не подпадал под требования лицензирования. Это привело к появлению Networking Release 1 (Net / 1 ), который был предоставлен не лицензиатам кода ATT и свободно распространяемый в соответствии с условиями Лицензия BSD. Он был выпущен в июне 1989 года.
После Net / 1 разработчик BSD Кейт Бостик предложил выпускать больше не-ATT разделов системы BSD под той же лицензией, что и Net / 1. С этой целью он начал проект по переопределению большинства стандартных утилит Unix без использования кода ATT. В течение восемнадцати месяцев все утилиты ATT были заменены, и было определено, что в ядре осталось только несколько файлов ATT. Эти файлы были удалены, и в результате в июне 1991 г. был выпущен Networking Release 2 (Net / 2), почти полная операционная система, которая могла свободно распространяться.
Net / 2 был основой для двух отдельных портов BSD на архитектуру Intel 80386 : бесплатный 386BSD от William Jolitz и проприетарный BSD / 386 (позже переименованный в BSD / OS) от Berkeley Software Design (BSDi). Сама 386BSD просуществовала недолго, но стала исходной кодовой базой проектов NetBSD и FreeBSD, которые были начаты вскоре после этого.
BSDi вскоре столкнулась с юридическими проблемами с дочерней компанией ATT Unix System Laboratories (USL), в то время являвшейся владельцами System V авторских прав и торговой марки Unix. Иск USL против BSDi был подан в 1992 году и привел к судебному запрету на распространение Net / 2 до тех пор, пока не будет установлена законность требований USL об авторских правах на источник. Судебный процесс замедлил развитие свободных программных потомков BSD почти на два года, пока их правовой статус был под вопросом, и в результате системы, основанные на ядре Linux, которое не имело такой юридической двусмысленности, получили большая поддержка. Иск был урегулирован в январе 1994 года, в основном в пользу Беркли. Из 18 000 файлов в дистрибутиве Беркли только три пришлось удалить и 70 изменить, чтобы показать уведомления об авторских правах USL. Еще одним условием урегулирования было то, что USL не будет подавать дальнейших исков против пользователей и распространителей кода, принадлежащего Беркли, в предстоящем выпуске 4.4BSD.
Последним выпуском от Беркли была 4.4BSD- 1995 г. Lite Release 2, после чего CSRG была распущена и разработка BSD в Беркли прекратилась. С тех пор появилось несколько вариантов, прямо или косвенно основанных на 4.4BSD-Lite (например, FreeBSD, NetBSD, OpenBSD и DragonFly BSD ) были сохранены.
Разрешительный характер лицензии BSD позволил многим другим операционным системам, как с открытым исходным кодом, так и частным, включать исходный код BSD. Например, Microsoft Windows использовала код BSD в своей реализации TCP / IP и связывает перекомпилированные версии BSD командной строки сетевых инструментов начиная с Windows 2000. Darwin, основа для Apple macOS и iOS, основана на 4.4BSD-Lite2 и FreeBSD. Различные коммерческие операционные системы Unix, такие как Solaris, также включают код BSD.
Начиная с 8-го издания, версии Research Unix в Bell Labs были тесно связаны с BSD. Это началось, когда 4.1cBSD для VAX была использована в качестве основы для Research Unix 8th Edition. Это продолжалось в последующих версиях, таких как 9-е издание, в которое были включены исходный код и улучшения из 4.3BSD. В результате эти более поздние версии Research Unix были ближе к BSD, чем к System V. В публикации Usenet от 2000 года Деннис Ритчи описал эту взаимосвязь между BSD и Research Unix:
Research Unix 8-е издание началось (я думаю) с BSD 4.1c, но с огромным количеством извлеченных и замененных нашим собственным материалом. Это продолжалось 9-м и 10-м. Обычный пользовательский набор команд, я полагаю, был немного более похож на BSD, чем SysVish, но был довольно эклектичным.
Эрик С. Реймонд резюмирует давние отношения между System V и BSD, заявляя: «Различие было примерно между длинношерстными и короткошерстными; программисты и технические специалисты, как правило, объединялись с Беркли и BSD, более ориентированные на бизнес типы с ATT и System V. »
В 1989 году Дэвид А. Карри написал о различиях между BSD и System V. Он охарактеризовал System V как часто рассматриваемую как« стандартный Unix ». Однако он описал BSD как более популярную среди университетских и государственных компьютерных центров из-за ее расширенных функций и производительности:
Большинство университетских и государственных компьютерных центров, которые используют UNIX, используют Berkeley UNIX, а не System V. Для этого есть несколько причин., но, пожалуй, двумя наиболее важными являются то, что Berkeley UNIX предоставляет сетевые возможности, которые до недавнего времени (Release 3.0) были полностью недоступны в System V, и что Berkeley UNIX гораздо больше подходит для исследовательской среды, которая требует более быстрой файловой системы, лучшей виртуальной обработка памяти и большее разнообразие языков программирования.
Unix Беркли был первым Unix, который включил библиотеки, поддерживающие стеки Интернет-протокола : сокеты Беркли. Реализация Unix-предшественника IP, ARPAnet NCP, с клиентами FTP и Telnet, была произведена в Университете Иллинойса в г. 1975, и был доступен в Беркли. Однако нехватка памяти на PDP-11 вызвала сложную конструкцию и проблемы с производительностью.
Благодаря интеграции сокетов с файловыми дескрипторами операционной системы Unix, его стало почти так же легко читать и писать. данные через сеть, как это было для доступа к диску. Лаборатория ATT в конечном итоге выпустила свою собственную библиотеку STREAMS, которая включала большую часть тех же функций в программный стек с другой архитектурой, но широкое распространение существующей библиотеки сокетов уменьшило влияние новой API. Ранние версии BSD использовались для формирования Sun Microsystems 'SunOS, которая стала первой волной популярных рабочих станций Unix.
Некоторые операционные системы BSD могут запускать большую часть собственного программного обеспечения нескольких других операционных систем на той же архитектуре, используя бинарный уровень совместимости. Намного проще и быстрее, чем эмуляция, это позволяет, например, приложениям, предназначенным для Linux, эффективно работать на полной скорости. Это делает BSD подходящими не только для серверных сред, но и для рабочих станций, учитывая растущую доступность коммерческого программного обеспечения или программного обеспечения с закрытым исходным кодом только для Linux. Это также позволяет администраторам переносить устаревшие коммерческие приложения, которые могли поддерживать только коммерческие варианты Unix, в более современную операционную систему, сохраняя функциональность таких приложений до тех пор, пока они не будут заменены лучшей альтернативой.
Текущие варианты операционных систем BSD поддерживают многие из распространенных IEEE, ANSI, ISO и Стандарты POSIX, сохраняя при этом большую часть традиционного поведения BSD. Как и ATT Unix, ядро BSD является монолитным, что означает, что драйверы устройств в ядре работают в привилегированном режиме как часть ядра операционной системы.
Некоторые операционные системы основаны на BSD, включая FreeBSD, OpenBSD, NetBSD, MidnightBSD, GhostBSD, Darwin и DragonFly BSD. И NetBSD, и FreeBSD были созданы в 1993 году. Первоначально они были производными от 386BSD (также известного как «Jolix») и объединили исходный код 4.4BSD-Lite в 1994 году. OpenBSD был разветвлен из NetBSD в 1995 году, а DragonFly BSD был разветвлен из FreeBSD в 2003 году.
BSD также использовался в качестве основы для нескольких проприетарных версий Unix, таких как Sun SunOS, Sequent DYNIX, NeXT NeXTSTEP, DEC Ultrix и OSF / 1 AXP (теперь Tru64 UNIX ). Позже NeXTSTEP стал основой Apple Inc. macOS.