История распространения программного обеспечения Беркли - History of the Berkeley Software Distribution

В История распространения программного обеспечения Беркли начинается в 1970-х годах.

1BSD (PDP-11)

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

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

2BSD (PDP-11)

Второй дистрибутив программного обеспечения Беркли (2BSD), выпущенный в мае 1979 г.,[3] включены обновленные версии программного обеспечения 1BSD, а также две новые программы от Joy, которые используются в системах Unix по сей день: vi текстовый редактор (a визуальный версия бывший ) и Оболочка C. Билл Джой разослал около 75 копий 2BSD.[1] Еще одной особенностью был сетевой пакет под названием Беркнет, разработан Эрик Шмидт как часть его дипломная работа работа, которая могла подключать до двадцати шести компьютеров и обеспечивать электронную почту и передачу файлов.[4]

После выхода 3BSD (см. Ниже) VAX линейки компьютеров, новые выпуски 2BSD для PDP-11 все еще выпускались и распространялись через USENIX; например, 2.8.1BSD 1982 года включал набор исправлений для проблем с производительностью в Версия 7 Unix,[5] и более поздние выпуски содержали порты изменений от основанных на VAX выпусков BSD до архитектуры PDP-11. 2.9BSD с 1983 года включал код из 4.1cBSD и был первым выпуском, который представлял собой полную ОС (модифицированный V7 Unix), а не набор приложений и исправлений. Самый последний выпуск, 2.11BSD, был впервые выпущен в 1991 году.[6] В 21 веке добровольцы продолжали поддерживать обновления: патч 451 был выпущен 22 декабря 2018 года.[7]

3BSD

Очень ранний терминал DEC с клавиатурой и встроенным черно-белым экраном
В DEC VT100 терминал, широко используемый для Unix совместное времяпровождение
В VAX-11/780, типичный мини-компьютер, используемый в ранних системах разделения времени BSD
VAX-11/780 внутренности

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

Успех 3BSD стал основным фактором Агентство перспективных оборонных исследовательских проектов (DARPA) о финансировании Berkeley's Группа исследования компьютерных систем (CSRG), который разработал бы стандартную платформу Unix для будущих исследований DARPA в Проект СБИС.

4BSD

4BSD (ноябрь 1980 г.) предлагала ряд улучшений по сравнению с 3BSD, в частности контроль работы в ранее выпущенном csh, доставить почту (предшественник Отправить письмо ), "надежный" сигналы, а Проклятия библиотека программирования. В обзоре выпусков BSD за 1985 г. Джон Куортерман и другие., написал:[8]

4BSD была предпочтительной операционной системой для VAX с самого начала до выпуска Система III (1979–1982) [...] Большинство организаций купят лицензию на 32 В и закажут 4BSD в Беркли, даже не потрудившись получить ленту на 32 В. Многие установки внутри Bell System запускал 4.1BSD (многие все еще работают, а многие другие - 4.2BSD).

4.1BSD

4.1BSD (июнь 1981 г.) был ответом на критику производительности BSD по сравнению с доминирующей операционной системой VAX, VMS. Ядро 4.1BSD систематически настраивалось Билл Джой пока он не сможет работать так же хорошо, как VMS в нескольких тестах. Релиз бы назвали 5BSD, но после возражений со стороны AT&T название было изменено; AT&T опасалась путаницы с AT&T с Система UNIX V.[9]

4.2BSD

На внедрение 4.2BSD (август 1983 г.) потребовалось более двух лет, и в нее было внесено несколько капитальных изменений. До официального релиза вышло три промежуточных версии: 4.1a включил модифицированную версию BBN's предварительный TCP / IP выполнение; 4.1b включены новые Быстрая файловая система Беркли, реализованный Маршалл Кирк МакКьюсик; и 4.1c был промежуточным выпуском в течение последних нескольких месяцев разработки 4.2BSD. Вернувшись в Bell Labs, 4.1cBSD стала основой 8-е издание из Исследование Unix, а коммерчески поддерживаемая версия была доступна по адресу mtXinu.

Чтобы руководствоваться разработкой 4.2BSD, Дуэйн Адамс из DARPA сформировал «руководящий комитет», состоящий из Боб Фабри, Билл Джой и Сэм Леффлер из UCB, Алан Немет и Роб Гурвиц от BBN, Деннис Ричи из Bell Labs, Кейт Ланц из Стэнфорд, Рик Рашид из Университет Карнеги-Меллона, Берт Холстед из Массачусетский технологический институт, Дэн Линч из ISI, и Джеральд Дж. Попек из UCLA. Комитет заседал с апреля 1981 г. по июнь 1983 г.

Помимо Fast File System, были приняты некоторые функции от сторонних разработчиков, в том числе дисковые квоты и управление заданиями. Sun Microsystems провела тестирование своего Motorola 68000 машины до выпуска, что гарантирует переносимость системы.[8]

Официальный релиз 4.2BSD был выпущен в августе 1983 года. Он был примечателен тем, что была выпущена первая версия после ухода Билла Джоя в 1982 году, который стал соучредителем Sun Microsystems; Майк Карелс и Маршалл Кирк МакКьюсик с этого момента взял на себя руководящие роли в проекте. На более легкой ноте, он также ознаменовал дебют Демон-талисман BSD на рисунке Джон Лассетер которые появились на обложках печатных руководств, распространяемых USENIX.

4.3BSD

Черно-белое изображение 4.3 BSD UWisc VAX Emulation Login, снимок экрана
"4.3 BSD UNIX" из Университет Висконсина около 1987 года. Запуск системы и вход в систему.
Черно-белый скриншот 4.3 BSD UWisc VAX Emulation LS
4.3 BSD из Университет Висконсина. Просмотр "/ usr / ucb" и "/ usr / games"

4.3BSD была выпущена в июне 1986 года. Ее основные изменения заключались в улучшении производительности многих новых дополнений 4.2BSD, которые не были так сильно настроены, как код 4.1BSD. До релиза реализация TCP / IP в BSD значительно отличалась от официальной реализации BBN. После нескольких месяцев тестирования DARPA определило, что версия 4.2BSD лучше и останется в 4.3BSD. (Смотрите также История Интернета.)

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

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

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

4.3BSD-Reno вышла в начале 1990 года. Это был промежуточный выпуск во время ранней разработки 4.4BSD, и его использование считалось «авантюрой», отсюда и название игрового центра. Рино, Невада. Этот выпуск явно продвигался к POSIX согласие,[10] и, по мнению некоторых, вдали от философии BSD (поскольку POSIX во многом основан на System V, а Reno был довольно раздутым по сравнению с предыдущими выпусками[нужна цитата ]). Среди новых функций были NFS реализация из Университет Гвельфа и поддержка HP 9000 ряд компьютеров, происходящих из Университет Юты порт "HPBSD".[11]

В августе 2006 г. Информационная неделя журнал оценил 4.3BSD как «Лучшее из когда-либо написанных программ».[12] Они прокомментировали: «BSD 4.3 представляет собой крупнейшую теоретическую основу Интернета».

Net / 2 и проблемы с законом

Черно-белый скриншот установщика 386BSD
Установка 386BSD. 386BSD была ранним портом BSD на Intel 80386 архитектура.

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

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

BSDi вскоре оказалась в затруднительном положении с AT&T. Лаборатории Unix System (USL), затем владельцы System V Авторские права и товарный знак Unix. В USL против BSDi иск был подан в 1992 году и привел к судебный запрет о распространении Net / 2 до тех пор, пока не будет определена законность заявлений USL об авторских правах на источник.

Судебный процесс замедлил развитие свободных программных потомков BSD почти на два года, пока их правовой статус был под вопросом, и в результате системы, основанные на Ядро Linux, который не имел такой правовой двусмысленности, получил большую поддержку. Хотя выпускался только в 1992 г., разработка 386BSD предшествовал Linux. Линус Торвальдс сказал, что если 386BSD или Ядро GNU был доступен в то время, он, вероятно, не создал бы Linux.[13][14] В июне 1993 года 4.4BSD-Encumbered была выпущена только для лицензиатов USL.

4.4BSD и потомки

Судебный процесс был урегулирован в январе 1994 года, в основном в пользу Беркли. Из 18 000 файлов в дистрибутиве Беркли только три пришлось удалить и 70 модифицировать, чтобы отображались уведомления об авторских правах USL. Еще одним условием урегулирования было то, что USL не будет подавать дальнейших исков против пользователей и распространителей кода, принадлежащего Беркли, в предстоящем выпуске 4.4BSD. Маршалл Кирк МакКьюсик резюмирует судебный процесс и его результат:[15]

Было заявлено о копировании кода и краже коммерческой тайны. Фактический код нарушения не был идентифицирован в течение почти двух лет. Судебный процесс мог бы затянуться намного дольше, если бы не Novell купил USL у AT&T и добился урегулирования. В конце концов, три файла были удалены из 18 000, из которых состоял дистрибутив, и ряд незначительных изменений был внесен в другие файлы. Кроме того, университет согласился добавить авторские права USL примерно на 70 файлов с условием, что эти файлы будут продолжать свободно распространяться.

В марте 1994 года была выпущена 4.4BSD-Lite, которая больше не требовала лицензии на исходный код USL, а также содержала много других изменений по сравнению с исходной версией 4.4BSD-Encumbered.

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

Кроме того, разрешительный характер лицензии BSD позволил многим другим операционным системам, как бесплатным, так и проприетарным, включать код BSD. Например, Майкрософт Виндоус использовал код, производный от BSD, в реализации TCP / IP[16] и связывает перекомпилированные версии BSD командная строка сетевые инструменты с Windows 2000.[17] Также Дарвин, система, на которой macOS построен, является производным от 4.4BSD-Lite2 и FreeBSD. Различные коммерческие операционные системы Unix, такие как Солярис, также содержат различное количество кода BSD.

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

Значимые потомки BSD

Цветная гистограмма использования дистрибутивов BSD
Гистограмма показывающий долю пользователей каждого варианта BSD из обзора использования BSD в 2005 году.[18] Каждому участнику было разрешено указать несколько вариантов BSD.

BSD была основой большого количества операционных систем. Наиболее заметными среди них сегодня являются, пожалуй, основные Открытый исходный код BSD: FreeBSD, NetBSD и OpenBSD, все производные от 386BSD и 4.4BSD -Зажигайте разными маршрутами. И NetBSD, и FreeBSD начали свою жизнь в 1993 году, первоначально они произошли от 386BSD, но в 1994 году перешли на кодовую базу 4.4BSD-Lite. OpenBSD был раздвоенный в 1995 году из NetBSD. Ряд коммерческих операционных систем также частично или полностью основаны на BSD или ее потомках, включая Солнце SunOS и Apple Inc. с macOS.

Большинство текущих операционных систем BSD Открытый исходный код и доступен для бесплатного скачивания под Лицензия BSD, наиболее заметным исключением является macOS. Они также обычно используют монолитное ядро архитектура, кроме macOS и DragonFly BSD, которые включают гибридные ядра. Различные проекты BSD с открытым исходным кодом обычно разрабатывают ядро ​​и пользовательское пространство программы и библиотеки вместе, исходный код управляется с помощью единого центрального репозитория исходных текстов.

В прошлом BSD также использовалась в качестве основы для нескольких проприетарных версий Unix, таких как солнце с SunOS, Секвент с Dynix, Следующий с Следующий шаг, DEC с Ultrix и OSF / 1 AXP (сейчас Tru64 UNIX ). Части программного обеспечения NeXT стали основой для macOS, один из наиболее коммерчески успешных вариантов BSD на общем рынке.

Подборка важных версий Unix и Unix-подобный операционные системы, происходящие от BSD, включают:

  • FreeBSD, операционная система общего назначения с открытым исходным кодом.
    • Следующий СЛЕДУЮЩИЙ ШАГ и OpenStep, на основе Ядро Маха и 4BSD; предок macOS
    • ОС Орбис, Ответвление Sony FreeBSD 9 - это операционная система для PS4. CellOS для системы PS3 также считается форком FreeBSD и, как известно, содержит код FreeBSD и NetBSD.
    • TrueOS, GhostBSD и DesktopBSD, дистрибутивы FreeBSD с упором на простоту использования и дружественный интерфейс для пользователей настольных / портативных ПК.
    • MidnightBSD, еще один форк FreeBSD
    • DragonFly BSD, форк FreeBSD, который следует альтернативному дизайну, особенно связанному с SMP.
    • NextBSD, новый дистрибутив BSD, производный от FreeBSD 10.1 и различных компонентов macOS.
    • FreeNAS бесплатный сетевой сервер хранения на основе минимальной версии FreeBSD.
    • NAS4Free вилка 0,7 FreeNAS версия, Сетевой сервер хранения.
    • Nokia IPSO (Вариант IPSO SB), ОС на базе FreeBSD, используемая в Nokia Устройства межсетевого экрана.
    • ОС для Netflix Open Connect Appliance.[19]
    • Юнос, операционная система для Маршрутизаторы Juniper, настроенная версия FreeBSD и множество других встроенных операционных систем
    • Системы Isilon ' OneFS, операционная система, используемая в кластерных системах хранения Isilon серии IQ, представляет собой сильно модифицированную версию FreeBSD.
    • NetApp Data ONTAP, операционная система для файловых систем NetApp, представляет собой модифицированную версию FreeBSD с построенной на ней архитектурой ONTAP.
    • m0n0wall, дистрибутив FreeBSD, адаптированный для использования в качестве межсетевого экрана.
    • pfSense бесплатный межсетевой экран / маршрутизатор на базе FreeBSD с открытым исходным кодом.
    • OPNsense, firewall, форк pfSense
    • Системы Coyote Point Эквалайзер / ОС, усиленная высокопроизводительная среда выполнения для сервера Балансировка нагрузки.
  • NetBSD, BSD с открытым исходным кодом, ориентированная на чистый дизайн и переносимость.
    • OpenBSD, 1995 г. вилка NetBSD, ориентированный на безопасность.
    • Force10 FTOS, операционная система для Force 10 и Dell коммутаторы сети центров обработки данных.
      • Dell DNOS версии 9 и выше, преемник FTOS.
  • TrustedBSD
  • F5 Сети, F5 BIGIP Appliances использовали ОС BSD в качестве ОС до выпуска версии 9.0, построенной на основе Linux.
  • DEC Ultrix, официальная версия Unix для своего PDP-11, VAX и DECstation системы
  • Sony NEWS-OS, операционная система на основе BSD для своих рабочих станций сетевого проектирования.
  • OSF / 1, гибридное ядро ​​Unix, разработанное Фонд открытого программного обеспечения, включающий модифицированный Ядро Маха и части 4BSD
  • Версии до 5.0 Sun Microsystems SunOS, расширенная версия 4BSD для Sun Motorola 68 тыс. -основан Вс-2 и Вс-3 системы, SPARC -системы, и x86 -основан Солнце386i системы (SunOS 5.0 и более поздние версии System V Выпуск 4 -основан)
  • 386BSD, первая операционная система на основе BSD с открытым исходным кодом и предок большинства современных систем BSD
  • ДЕМОС, советский клон BSD
  • BSD / OS, (ныне несуществующая) проприетарная BSD для ПК
  • RetroBSD, форк BSD 2.11, предназначенный для работы на микроконтроллерах, таких как PIC32
  • LiteBSD, вариант 4.4BSD Unix для PIC32MZ микроконтроллеры

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

Рекомендации

  1. ^ а б c d Салус, Питер Х. (2005). «Глава 7. BSD и CSRG». Демон, Гну и Пингвин. Groklaw.
  2. ^ Салус, Питер Х. (1 июня 1994 г.). Четверть века UNIX. Эддисон Уэсли. п. 142. ISBN  978-0-201-54777-1.
  3. ^ Туми, Уоррен. "Подробная информация об архивах ПУПС". tuhs.org. Общество наследия Unix. Получено 6 октября, 2010.
  4. ^ Шаклетт, Марк (2004). «Операционная система Unix». Интернет-энциклопедия. Вайли. п. 497. ISBN  9780471222019.
  5. ^ Салус, Питер Х. (2005). «Глава 6. 1979». Демон, Гну и Пингвин. Groklaw.
  6. ^ «Интернет, Unix, BSD и Linux».
  7. ^ "sysctl securelevel -1".
  8. ^ а б Quarterman, John S .; Зильбершац, Авраам; Петерсон, Джеймс Л. (декабрь 1985 г.). «4.2BSD и 4.3BSD как примеры системы Unix». Вычислительные опросы. 17 (4): 379–418. CiteSeerX  10.1.1.117.9743. Дои:10.1145/6041.6043.
  9. ^ МакКьюзик, Маршалл Кирк (Январь 1999 г.). «Двадцать лет Berkeley Unix - от владения AT&T до свободно распространяемого». В ДиБоне, Крис; Окман, Сэм; Стоун, Марк (ред.). В открытых источниках: голоса революции (первое изд.). О'Рейли. ISBN  978-1-56592-582-3.
  10. ^ а б М.К. МакКусик, М.Дж. Карелс, Кейт Склоуэр, Кевин Фолл, Марк Тейтельбаум и Кейт Бостик (1989). Текущее исследование, проведенное исследовательской группой компьютерных систем Беркли. Proc. Европейская группа пользователей Unix.
  11. ^ Хиблер, Майк (июль 1999 г.). "HPBSD: порт Utah 4.3bsd для машин серии HP9000". Получено 10 февраля, 2014.
  12. ^ Бэбкок, Чарльз (14 августа 2006 г.). "Какое самое лучшее программное обеспечение из когда-либо написанных?". Информационная неделя. Получено 2009-01-20.
  13. ^ Линксвайер, Майк (1993). «Выбор поколения GNU - интервью с Линусом Торвальдсом». Мета журнал. Получено 2009-01-20.
  14. ^ Л. Торвальдс (29 января 1992 г.). «Re: LINUX устарел». Группа новостейcomp.os.minix. Usenet:  [email protected]. Получено 2006-05-11.
  15. ^ Эрик С. Раймонд. "Искусство программирования Unix: истоки и история Unix, 1969–1995". Получено 2014-07-18.
  16. ^ Барр, Адам (19.06.2001). «Microsoft, TCP / IP, открытый исходный код и лицензирование». Архивировано из оригинал на 2005-11-14.
  17. ^ «Код BSD в Windows». all2.com. 20 марта 2001 г.. Получено 2009-01-20.
  18. ^ «Обзор использования BSD» (PDF). Группа сертификации BSD. 31 октября 2005 г. Архивировано с оригинал (PDF) на 2012-01-18. Получено 2009-01-20.
  19. ^ «Руководство по развертыванию Netflix Open Connect Appliance» (PDF). 29 мая 2012 года.