Распространение программного обеспечения Беркли

Операционная система Unix

Операционная система
БСД
РазработчикГруппа исследований компьютерных систем
Написано вС
Семейство ОСUnix
Рабочее состояниеПрекращено
Исходная модельПервоначально исходный код был доступен , позже стал открытым
Первоначальный выпуск9 марта 1978 г .; 46 лет назад ( 1978-03-09 )
Окончательный релиз4.4-Lite2 / Июнь 1995 г .; 29 лет назад ( 1995-06 )
Доступно вАнглийский
ПлатформыPDP-11 , VAX , Intel 80386
Тип ядраМонолитный
Пользовательская земляБСД
Под влияниемNetBSD , FreeBSD , OpenBSD , DragonFly BSD , NeXTSTEP , Дарвин
Под влияниемUnix

Пользовательский интерфейс по умолчанию
Оболочка Unix
ЛицензияБСД

Berkeley Software Distribution [a] ( BSD ), также известная как Berkeley Unix или BSD Unix , — это прекратившая свое существование операционная система Unix, разработанная и распространяемая Computer Systems Research Group (CSRG) в Калифорнийском университете в Беркли с 1978 года. Она начиналась как улучшенная производная от оригинальной Unix компании AT&T , разработанной в Bell Labs на основе исходного кода , но со временем разошлась в собственный код. BSD стала пионером в развитии Unix и вычислений. [2] [3]

Разработка BSD была первоначально начата Биллом Джоем , который добавил возможность виртуальной памяти в Unix, работающую на компьютере VAX-11 . [3] В 1980-х годах BSD была широко принята поставщиками рабочих станций в виде фирменных дистрибутивов Unix, таких как DEC Ultrix и Sun Microsystems SunOS, благодаря своему разрешительному лицензированию и знакомству со многими основателями и инженерами технологических компаний. Она также стала самой популярной Unix в университетах, где ее использовали для изучения операционных систем. [2] BSD спонсировалась DARPA до 1988 года, [3] что привело к реализации ARPANET , а затем стека TCP/IP для Unix компанией BSD, [4] которые были выпущены в BSD NET/1 в 1988 году. Кодовая база была переписана настолько, что всего 5% BSD содержало оригинальный код AT&T, [4] и поэтому NET/1 была выпущена без исходной лицензии AT&T. [3]

Университет прекратил свои исследования Unix в 1992 году после сокращения финансирования, а также судебного иска Unix . [3] Поскольку оригинальная BSD устарела, термин «BSD» теперь обычно используется для ее потомков с открытым исходным кодом , включая FreeBSD , OpenBSD , NetBSD и DragonFly BSD . Код BSD также послужил основой для Darwin и TrueOS ; они, в свою очередь, использовались проприетарными операционными системами, включая macOS и iOS от Apple , [5] и Microsoft Windows , которые использовали (по крайней мере) часть ее кода TCP/IP. Код из открытых потомков BSD сам по себе также использовался для создания современных операционных систем, например, системного программного обеспечения для PlayStation 5 и других. [6]

История

Простая блок-схема, показывающая историю и хронологию развития Unix, начиная с одного пузыря наверху и 13 ответвлений внизу потока.
Упрощенная эволюция систем Unix . Не показаны Junos , системное программное обеспечение PlayStation 3 и другие фирменные ответвления.

Самые ранние дистрибутивы Unix от Bell Labs в 1970-х годах включали исходный код операционной системы, что позволяло исследователям в университетах модифицировать и расширять Unix. Операционная система прибыла в Беркли в 1974 году по просьбе профессора компьютерных наук Боба Фабри , который был в программном комитете Симпозиума по принципам операционных систем , где Unix был впервые представлен. Для запуска системы была куплена PDP-11/45 , но по бюджетным причинам эта машина использовалась совместно с группами математики и статистики в Беркли, которые использовали RSTS , так что Unix работала на этой машине только восемь часов в день (иногда днем, иногда ночью). Более крупная PDP-11/70 была установлена ​​в Беркли в следующем году на деньги из проекта базы данных Ingres . [7]

BSD начиналась как вариант Unix, который программисты Калифорнийского университета в Беркли, изначально возглавляемые Биллом Джоем , начали разрабатывать в конце 1970-х годов. Он включал дополнительные функции, которые были переплетены с кодом, принадлежащим AT&T.

В 1975 году Кен Томпсон взял академический отпуск в Bell Labs и приехал в Беркли в качестве приглашенного профессора. Он помог установить версию 6 Unix и начал работать над реализацией Pascal для этой системы. Аспиранты Чак Хейли и Билл Джой улучшили Pascal Томпсона и реализовали улучшенный текстовый редактор, например . [7] Другие университеты заинтересовались программным обеспечением в Беркли, и поэтому в 1977 году Джой начал компилировать первый Berkeley Software Distribution (1BSD), который был выпущен 9 марта 1978 года. [8] 1BSD была дополнением к версии 6 Unix, а не полноценной операционной системой. Было разослано около тридцати копий. [7]

Второй дистрибутив программного обеспечения Berkeley (2BSD), выпущенный в мае 1979 года, [9] включал обновленные версии программного обеспечения 1BSD, а также две новые программы Джоя, которые существуют в системах Unix по сей день: текстовый редактор vi ( визуальная версия ex ) и оболочка C. Билл Джой разослал около 75 копий 2BSD. [7]

VAX -11/780 , типичный мини-компьютер, использовавшийся в ранних системах BSD с разделением времени

В 1978 году в Беркли был установлен компьютер VAX, но порт Unix на архитектуру VAX, UNIX/32V , не использовал возможности виртуальной памяти VAX . Ядро 32V было в значительной степени переписано, чтобы включить реализацию виртуальной памяти аспиранта Беркли Озалпа Бабаоглу , и полная операционная система, включающая новое ядро, порты утилит 2BSD на VAX и утилиты из 32V, была выпущена как 3BSD в конце 1979 года. 3BSD также альтернативно называлась Virtual VAX/UNIX или VMUNIX (для Virtual Memory Unix), а образы ядра BSD обычно назывались /vmunixдо 4.4BSD.

Черно-белый скриншот входа в систему эмуляции BSD UWisc VAX 4.3
"4.3 BSD UNIX" из Висконсинского университета , ок.  1987 г. Запуск системы и вход в систему.

После выпуска 4.3BSD в июне 1986 года было решено, что BSD отойдет от устаревшей платформы VAX. Платформа Power 6/32 (кодовое название "Tahoe"), разработанная Computer Consoles Inc., казалась многообещающей в то время, но вскоре после этого была заброшена ее разработчиками. Тем не менее, порт 4.3BSD-Tahoe (июнь 1988 года) оказался ценным, поскольку привел к разделению машинно-зависимого и машинно-независимого кода в BSD, что улучшило будущую переносимость системы.

Помимо переносимости, CSRG работала над реализацией стека сетевых протоколов OSI , усовершенствованиями системы виртуальной памяти ядра и (совместно с Ван Якобсоном из LBL ) новыми алгоритмами TCP/IP для адаптации к росту Интернета. [10]

До этого все версии BSD использовали проприетарный код AT&T Unix и, следовательно, подпадали под лицензию программного обеспечения AT&T. Лицензии на исходный код стали очень дорогими, и несколько сторонних сторон выразили заинтересованность в отдельном выпуске сетевого кода, который был разработан полностью вне AT&T и не подпадал бы под требования лицензирования. Это привело к выпуску Networking Release 1 ( Net/1 ), который был доступен нелицензиатам кода AT&T и свободно распространялся в соответствии с условиями лицензии BSD . Он был выпущен в июне 1989 года.

После Net/1 разработчик BSD Кейт Бостик предложил, чтобы больше не-AT&T разделов системы BSD были выпущены под той же лицензией, что и Net/1. С этой целью он начал проект по повторной реализации большинства стандартных утилит Unix без использования кода AT&T. В течение восемнадцати месяцев все утилиты AT&T были заменены, и было установлено, что в ядре осталось только несколько файлов AT&T. Эти файлы были удалены, и результатом стал выпуск в июне 1991 года Networking Release 2 (Net/2), почти полной операционной системы, которая распространялась свободно.

Net/2 стала основой для двух отдельных портов BSD на архитектуру Intel 80386 : свободного 386BSD Уильяма и Линн Джолиц и фирменного BSD/386 (позже переименованного в BSD/OS) Berkeley Software Design (BSDi). Сам 386BSD просуществовал недолго, но стал исходной кодовой базой проектов NetBSD и FreeBSD , которые были начаты вскоре после этого.

BSDi вскоре оказалась в юридических проблемах с дочерней компанией AT&T Unix System Laboratories (USL), тогда владельцами авторских прав System V и торговой марки Unix. Иск USL против BSDi был подан в 1992 году и привел к запрету на распространение Net/2 до тех пор, пока не будет определена обоснованность претензий USL на авторские права на исходный код. Иск замедлил разработку свободного программного обеспечения-потомков BSD почти на два года, пока их правовой статус был под вопросом, и в результате системы на основе ядра Linux , не имевшие такой юридической двусмысленности, получили большую поддержку. Иск был урегулирован в январе 1994 года, в основном в пользу Беркли. Из 18 000 файлов в дистрибутиве Беркли только три пришлось удалить и 70 изменить, чтобы отобразить уведомления об авторских правах USL. Еще одним условием соглашения было то, что USL не будет подавать дальнейших исков против пользователей и распространителей кода, принадлежащего Беркли, в предстоящем выпуске 4.4BSD. [11]

Последним релизом из Беркли стал 4.4BSD-Lite Release 2 1995 года , после чего CSRG была распущена, а разработка BSD в Беркли прекратилась. С тех пор поддерживалось несколько вариантов, основанных прямо или косвенно на 4.4BSD-Lite (таких как FreeBSD , NetBSD , OpenBSD и DragonFly BSD ).

Разрешительная природа лицензии BSD позволила многим другим операционным системам, как с открытым исходным кодом , так и проприетарным, включать исходный код BSD. Например, Microsoft Windows использовала код BSD в своей реализации TCP/IP [12] и объединяет перекомпилированные версии сетевых инструментов командной строки BSD с Windows 2000. [ 13] Darwin , основа для macOS и iOS от Apple , основана на 4.4BSD-Lite2 и FreeBSD. Различные коммерческие операционные системы Unix, такие как Solaris , также включают код BSD.

Связь с Research Unix

Начиная с 8-го издания, версии Research Unix в Bell Labs имели тесную связь с BSD. Это началось, когда 4.1cBSD для VAX была использована в качестве основы для Research Unix 8-го издания. Это продолжалось в последующих версиях, таких как 9-е издание, которое включало исходный код и улучшения из 4.3BSD. Результатом стало то, что эти более поздние версии Research Unix были ближе к BSD, чем к System V. В сообщении Usenet от 2000 года Деннис Ритчи описал эту связь между BSD и Research Unix: [14] [ требуется лучший источник ]

Research Unix 8th Edition начинался с (я думаю) BSD 4.1c, но с огромным количеством выкопанного и замененного нашим собственным. Это продолжалось с 9-й и 10-й. Обычный набор команд пользователя был, я полагаю, немного более BSD-приправленным, чем SysVish, но он был довольно эклектичным.

Связь с Системой V

Эрик С. Рэймонд подводит итог многолетним отношениям между System V и BSD, заявляя: «Разрыв был примерно между «длинношерстными» и «короткошерстными»; программисты и технические специалисты, как правило, присоединялись к Беркли и BSD, более ориентированные на бизнес типы — к AT&T и System V». [15]

В 1989 году Дэвид А. Карри писал о различиях между BSD и System V. Он охарактеризовал System V как часто рассматриваемую как «стандартный Unix». Однако он описал BSD как более популярную среди университетских и правительственных компьютерных центров из-за ее расширенных функций и производительности: [16]

Большинство университетских и государственных компьютерных центров, использующих UNIX, используют Berkeley UNIX, а не System V. Для этого есть несколько причин, но, пожалуй, две наиболее существенные из них заключаются в том, что Berkeley UNIX предоставляет сетевые возможности, которые до недавнего времени (версия 3.0) были полностью недоступны в System V, и что Berkeley UNIX гораздо больше подходит для исследовательской среды, которая требует более быстрой файловой системы, лучшей обработки виртуальной памяти и большего разнообразия языков программирования .

Технологии

розетки Беркли

Черно-белый снимок экрана руководства по эмуляции Lisp 4.3 BSD UWisc VAX
4.3 BSD из Висконсинского университета . Отображение страницы руководства Franz Lisp .
SunOS 4.1.1 P1270750 Лента 1/4 дюйма
Лента для SunOS 4.1.1, производной от 4.3BSD
Рабочая станция Sony NEWS , работающая под управлением операционной системы NEWS-OS на базе BSD

Unix Беркли был первым Unix, включавшим библиотеки, поддерживающие стеки интернет-протоколов : сокеты Беркли . Реализация предшественника IP в Unix, NCP ARPAnet , с клиентами FTP и Telnet , была создана в Университете Иллинойса в 1975 году и была доступна в Беркли. [17] [18] Однако нехватка памяти на PDP-11 привела к усложнению конструкции и проблемам с производительностью. [19]

Интеграция сокетов с файловыми дескрипторами операционной системы Unix позволила почти так же легко читать и записывать данные по сети , как и получать доступ к диску. Лаборатория AT&T в конечном итоге выпустила собственную библиотеку STREAMS , которая включала большую часть той же функциональности в программном стеке с другой архитектурой, но широкое распространение существующей библиотеки сокетов снизило влияние нового API . Ранние версии BSD использовались для формирования SunOS от Sun Microsystems , положив начало первой волне популярных рабочих станций Unix.

Двоичная совместимость

Некоторые операционные системы BSD могут запускать собственное программное обеспечение нескольких других операционных систем на той же архитектуре , используя уровень двоичной совместимости . Это намного проще и быстрее, чем эмуляция ; например, это позволяет приложениям, предназначенным для Linux , работать фактически на полной скорости. Это делает BSD подходящими не только для серверных сред, но и для рабочих станций, учитывая растущую доступность коммерческого или закрытого программного обеспечения только для Linux. Это также позволяет администраторам переносить устаревшие коммерческие приложения, которые могли поддерживать только коммерческие варианты Unix, на более современную операционную систему, сохраняя функциональность таких приложений до тех пор, пока их не заменит лучшая альтернатива.

Стандарты

Текущие варианты операционной системы BSD поддерживают многие из распространенных стандартов IEEE , ANSI , ISO и POSIX , сохраняя при этом большую часть традиционного поведения BSD. Как и AT&T Unix , ядро ​​BSD является монолитным , что означает, что драйверы устройств в ядре работают в привилегированном режиме , как часть ядра операционной системы.

потомки BSD

Несколько операционных систем основаны на BSD, включая FreeBSD , OpenBSD , NetBSD , MidnightBSD , MirOS BSD , GhostBSD , Darwin и DragonFly BSD . И NetBSD, и FreeBSD были созданы в 1993 году. Первоначально они были получены из 386BSD (также известной как «Jolix») и объединили исходный код 4.4BSD-Lite в 1994 году. OpenBSD была ответвлена ​​от NetBSD в 1995 году, а DragonFly BSD была ответвлена ​​от FreeBSD в 2003 году.

BSD также использовалась в качестве основы для нескольких фирменных версий Unix, таких как SunOS от Sun , DYNIX от Sequent , NeXTSTEP от NeXT , Ultrix от DEC и OSF/1 AXP (теперь Tru64 UNIX ). Позднее NeXTSTEP стала основой для macOS от Apple Inc.

Смотрите также

Примечания

  1. ^ или стандартное распределение Беркли [1]

Ссылки

  1. ^ "Почему вам следует использовать лицензию в стиле BSD для вашего проекта с открытым исходным кодом". Проект FreeBSD . BSD (Berkeley Standard Distribution) . Получено 3 августа 2021 г.
  2. ^ ab Левитт, Джейсон; Шуман, Эван (22 июня 1992 г.). «Для BSD Unix настала пора сатья». Открытые системы сегодня .
  3. ^ abcde Хардинг, Элизабет У. (19 октября 1992 г.). «Пионер Unix завершает исследования BSD». Software Magazine .
  4. ^ ab "Краткая история Unix, BSD и FreeBSD". minnie.tuhs.org . Получено 5 декабря 2024 г. .
  5. ^ "Руководство по программированию ядра Apple: обзор BSD" . Получено 27 марта 2021 г. .
  6. ^ "Ядро". PlayStation 5 Dev Wiki .
  7. ^ abcd Salus, Peter H. (2005). "Глава 7. BSD и CSRG". Демон, Гну и Пингвин . Groklaw . Архивировано из оригинала 14 июня 2020 г. Получено 6 сентября 2017 г.
  8. ^ Салус (1994), стр. 142
  9. ^ Туми, Уоррен. «Подробности архивов PUPS». tuhs.org . The Unix Heritage Society . Архивировано из оригинала 9 июля 2006 г. . Получено 6 октября 2010 г. .
  10. ^ МакКьюсик, МК; Карелс, МДж; Склауэр, Кейт; Фолл, Кевин; Тейтельбаум, Марк; Бостик, Кейт (1989). "Текущие исследования Исследовательской группы компьютерных систем Беркли" (PDF) . Труды весенней конференции Европейской группы пользователей Unix .
  11. ^ Эрик С. Рэймонд. «Искусство программирования Unix: происхождение и история Unix, 1969–1995». Архивировано из оригинала 5 октября 2014 г. Получено 18 июля 2014 г.
  12. Barr, Adam (19 июня 2001 г.). «Microsoft, TCP/IP, Open Source и Licensing». Архивировано из оригинала 14 ноября 2005 г. Получено 7 июня 2019 г.
  13. ^ "BSD Code in Windows". everything2.com . 20 марта 2001 г. Архивировано из оригинала 25 августа 2008 г. Получено 20 января 2009 г.
  14. Деннис Ритчи (26 октября 2000 г.). "alt.folklore.computers: BSD (Деннис Ритчи)". Архивировано из оригинала 14 июля 2014 г. Получено 3 июля 2014 г.
  15. ^ Рэймонд, Эрик С. Искусство программирования Unix. 2003. стр. 38.
  16. ^ Карри, Дэвид. Использование C в системе UNIX: Руководство по системному программированию. 1989. С. 2–3.
  17. ^ Chesson, GL (1976). «Сетевая система Unix». Обзор операционных систем ACM SIGOPS . 9 (5): 60–66 . doi : 10.1145/1067629.806522 .
  18. ^ RFC681 ​
  19. ^ Quarterman, John S.; Silberschatz, Abraham; Peterson, James L. (декабрь 1985 г.). «4.2BSD и 4.3BSD как примеры системы Unix». Computing Surveys . 17 (4): 379– 418. CiteSeerX 10.1.1.117.9743 . doi :10.1145/6041.6043. S2CID  5700897. 

Библиография

  • Маршалл К. МакКьюсик, Кит Бостик, Майкл Дж. Карелс, Джон С. Куотермейн, Проектирование и реализация операционной системы 4.4BSD (Addison Wesley, 1996; ISBN 978-0-201-54979-9 ) 
  • Маршалл К. МакКьюсик, Джордж В. Невилл-Нил, Проектирование и реализация операционной системы FreeBSD (Addison Wesley, 2 августа 2004 г.; ISBN 978-0-201-70245-3 ) 
  • Сэмюэл Дж. Леффлер, Маршалл К. МакКьюсик, Майкл Дж. Карелс, Джон С. Куортерман , Проектирование и реализация операционной системы 4.3BSD UNIX (Addison Wesley, ноябрь 1989 г.; ISBN 978-0-201-06196-3 ) 
  • McKusick, Marshall Kirk (январь 1999). «Двадцать лет Berkeley Unix – от AT&T-Owned до Freely Redistributable». В DiBona, Chris; Ockman, Sam; Stone, Mark (ред.). Open Sources: Voices from the Revolution (первое изд.). O'Reilly. ISBN 978-1-56592-582-3.
  • Питер Х. Салус , Демон, GNU и Пингвин (Reed Media Services, 1 сентября 2008 г.; ISBN 978-0-9790342-3-7 ) 
  • Питер Х. Салус , Четверть века UNIX (Эддисон Уэсли, 1 июня 1994 г.; ISBN 978-0-201-54777-1 ) 
  • Питер Х. Салус , Забрасывая сеть (Addison-Wesley, март 1995 г.; ISBN 978-0-201-87674-1 ) 
  • Хронология BSD и Research UNIX
  • История UNIX – История UNIX и BSD с использованием диаграмм
  • Проектирование и реализация операционной системы 4.4BSD
  • Дерево Unix: Исходный код и руководства для старых версий Unix
  • EuroBSDCon — ежегодное мероприятие в Европе, проходящее в сентябре, октябре или ноябре, основанное в 2001 году в Wayback Machine . Архивировано 20 июня 2020 года.
  • BSDCan, конференция в Оттаве, Онтарио , Канада, проводится ежегодно в мае с 2004 года, в июне с 2015 года
  • AsiaBSDCon, конференция в Токио, проводится ежегодно в марте каждого года, начиная с 2007 года.
  • mdoc.su – краткие URL-адреса страниц руководств для FreeBSD, OpenBSD, NetBSD и DragonFly BSD, веб-сервиса, написанного на nginx
  • BXR.SU – Super User's BSD Cross Reference, поисковая система пользовательского пространства и исходного кода ядра на основе OpenGrok и nginx
Получено с "https://en.wikipedia.org/w/index.php?title=Berkeley_Software_Distribution&oldid=1268199675#BSD_descendants"