Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

Распределение Berkeley Software ( BSD ) является прекращенной операционной системой на основе Research Unix , разработанный и распространяемого Systems Research Group 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 , «s MacOS и прошивкой , что полученные из них, [1] и Microsoft Windows , которая используется (по крайней мере) часть своего кода TCP / IP, который был законным . [2]Код FreeBSD также использовался для создания операционной системы для PlayStation 4 [3] и Nintendo Switch . [4] [5]

История [ править ]

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

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

Сначала BSD не была клоном Unix и даже не его существенно иной версией. Он просто включал некоторые дополнительные утилиты, которые были переплетены с кодом, принадлежащим AT&T.

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

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

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

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

"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 для удовлетворения растущего Интернета. [9]

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

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

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

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

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

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

Связь с Research Unix [ править ]

Начиная с 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: [13]

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

Связь с Системой V [ править ]

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

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

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

Технология [ править ]

Сокеты Беркли [ править ]

4.3 BSD Университета Висконсина . Отображение страницы руководства для Franz Lisp
Лента для SunOS 4.1.1, производной от 4.3BSD
Рабочая станция Sony NEWS под управлением операционной системы NEWS-OS на базе BSD

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

Благодаря интеграции сокетов с файловыми дескрипторами операционной системы 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 , GhostBSD , Darwin и DragonFly BSD . И NetBSD, и FreeBSD были созданы в 1993 году. Первоначально они были производными от 386BSD (также известного как «Jolix») и объединили исходный код 4.4BSD-Lite в 1994 году. OpenBSD был разветвлен из NetBSD в 1995 году, а DragonFly BSD - из FreeBSD в 2003 году.

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

См. Также [ править ]

  • BSD Демон
  • Лицензии BSD
  • Сравнение операционных систем BSD
  • Список операционных систем BSD
  • Войны Unix

Ссылки [ править ]

  1. ^ «Руководство по программированию ядра Apple: Обзор BSD» . Проверено 24 марта 2018 года .
  2. ^ "На самом деле, Windows ДЕЙСТВИТЕЛЬНО использует некоторый код BSD" . Проверено 24 марта 2018 года .
  3. ^ «Программное обеспечение с открытым исходным кодом, используемое в PlayStation 4» .
  4. ^ "任天堂 製子 に 関 連 す る オ ソ ー ス ソ フ ト の ー 配 布 ー ジ | サ ト | Nintendo" . www.nintendo.co.jp . Проверено 26 июля 2020 года .
  5. Цао (8 марта 2017 г.). «Nintendo Switch работает под управлением FreeBSD» . FreeBSDNews.com . Проверено 26 июля 2020 года .
  6. ^ a b c d Салус, Питер Х. (2005). «Глава 7. BSD и CSRG» . Демон, Гну и Пингвин . Гроклав .
  7. ^ Salus (1994), стр. 142
  8. ^ Туми, Уоррен. "Подробности архивов ПУПС" . tuhs.org . Общество наследия Unix . Проверено 6 октября 2010 года .
  9. ^ MK МакКузик, MJ карелы, Кит Sklower, Кевин Fall, Марк Тейтельбаума и Кейт Бостик (1989). Текущее исследование, проведенное исследовательской группой компьютерных систем Беркли. Proc. Европейская группа пользователей Unix.
  10. ^ Эрик С. Раймонд. «Искусство программирования Unix: истоки и история Unix, 1969–1995» . Проверено 18 июля 2014 года .
  11. Барр, Адам (19 июня 2001 г.). «Microsoft, TCP / IP, открытый исходный код и лицензирование» . Архивировано из оригинального 14 ноября 2005 года . Проверено 7 июня 2019 года .
  12. ^ «Код BSD в Windows» . all2.com . 20 марта 2001 . Проверено 20 января 2009 года .
  13. Деннис Ричи (26 октября 2000 г.). "alt.folklore.computers: BSD (Деннис Ричи)" . Проверено 3 июля 2014 года .
  14. ^ Раймонд, Эрик С. Искусство программирования Unix. 2003. с. 38
  15. ^ Карри, Дэвид. Использование C в системе UNIX: Руководство по системному программированию. 1989. С. 2–3.
  16. ^ GL Чессон (1976). Сетевая система Unix . Proc. 5-й симпозиум ACM. о принципах работы операционных систем.
  17. ^ RFC 681 .
  18. ^ Quarterman, Джон С .; Зильбершац, Авраам; Петерсон, Джеймс Л. (декабрь 1985 г.). «4.2BSD и 4.3BSD как примеры системы Unix». Вычислительные обзоры . 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 (Аддисон Уэсли, 2 августа 2004 г .; ISBN 978-0-201-70245-3 ) 
  • Сэмюэл Дж. Леффлер, Маршалл К. МакКьюсик, Майкл Дж. Карелс, Джон С. Куортерман , Разработка и реализация операционной системы 4.3BSD UNIX (Addison Wesley, ноябрь 1989 г .; ISBN 978-0-201-06196-3 ) 
  • McKusick, Маршалл Кирк (январь 1999 г.). «Двадцать лет Berkeley Unix - от владения AT&T до свободно распространяемого» . В ДиБоне, Крис; Окман, Сэм; Стоун, Марк (ред.). В открытых источниках: Голоса революции (первое изд.). О'Рейли. ISBN 978-1-56592-582-3.
  • Питер Х. Салус , Демон, GNU и Пингвин (Reed Media Services, 1 сентября 2008 г .; ISBN 978-0-9790342-3-7 ) 
  • Питер Х. Салус , Четверть века UNIX (Addison Wesley, 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 году.
  • BSDCan , конференция в Оттаве, Онтарио , Канада, проводится ежегодно в мае с 2004 года, в июне с 2015 года.
  • AsiaBSDCon , конференция в Токио, проводимая ежегодно в марте каждого года, с 2007 г.
  • mdoc.su - короткие URL-адреса страниц руководства для FreeBSD, OpenBSD, NetBSD и DragonFly BSD , веб-сервиса, написанного на nginx
  • BXR.SU - Перекрестная ссылка BSD для суперпользователя, поисковая система по пользовательскому пространству и исходному коду ядра на основе OpenGrok и nginx