Прошлое операционных систем семейства BSD::Журнал СА 1.2007
www.samag.ru
     
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
Журнал "Системный администратор"
Журнал «БИТ»
Наука и технологии
Подписка
Где купить
Авторам
Рекламодателям
Магазин
Архив номеров
Вакансии
Контакты
   

  Опросы

Какие курсы вы бы выбрали для себя?  

Очные
Онлайновые
Платные
Бесплатные
Я и так все знаю

 Читать далее...

1001 и 1 книга  
20.12.2019г.
Просмотров: 5397
Комментарии: 0
Dr.Web: всё под контролем

 Читать далее...

04.12.2019г.
Просмотров: 6594
Комментарии: 0
Особенности сертификаций по этичному хакингу

 Читать далее...

28.05.2019г.
Просмотров: 7877
Комментарии: 2
Анализ вредоносных программ

 Читать далее...

28.05.2019г.
Просмотров: 8168
Комментарии: 1
Микросервисы и контейнеры Docker

 Читать далее...

28.05.2019г.
Просмотров: 7165
Комментарии: 0
Django 2 в примерах

 Читать далее...

Друзья сайта  

Форум системных администраторов  

sysadmins.ru

 Прошлое операционных систем семейства BSD

Архив номеров / 2007 / Выпуск №1 (50) / Прошлое операционных систем семейства BSD

Рубрика: БИТ. Бизнес & Информационные технологии /  Коллективная работа

Илья Александров

Прошлое операционных систем семейства BSD

Кто-то назовет BSD старой операционной системой.

Но те из нас, кто работает над ней, видят ее скорее системой со зрелым кодом.

 

Мэтт Дилан, разработчик FreeBSD

Операционные системы семейства BSD признаны всем компьютерным сообществом и получили статус идеального программного обеспечения для серверов. Кто-то из вас использует эту ОС на домашнем компьютере. А знакомы ли вы с историей легендарной системы?

Университет Беркли

Как известно, все работающие под управлением UNIX компьютеры отсчитывают системное время с даты 1970.01.01. Конечно же, UNIX не была создана конкретно в этот день, однако именно эту дату принято считать днем её рождения. А значит, и днем рождения BSD, которая является прямым потомком детища Кена Томпсона (Kenneth Thompson) и Денниса Ритчи (Dennis Ritchie).

В начале 70-х годов о профессиональном применении UNIX речь ещё не шла, и компания AT&T, в которой была создана эта ОС, бесплатно распространяла её по университетам, чтобы её изучали студенты. Дискета с UNIX не миновала и знаменитый Калифорнийский университет в Беркли (The University of California, Berkeley). Для новой операционной системы был даже куплен компьютер PDP-11/45 компании DEC, что для 1973 года было непозволительной роскошью.

Как правило, UNIX в университетах устанавливал лично Кен Томпсон, однако в Беркли студенты справились с этой задачей собственными силами. Правда, к помощи разработчиков всё-таки пришлось прибегнуть – во время своей работы система регулярно давала сбои. Отладка ошибок велась Томпсоном удалённо посредством подключения компьютера университета через модем к телефонной сети. Несмотря на сотрудничество университета с компанией AT&T, UNIX функционировала на компьютере лишь с 8 до 16 часов дня. Все остальное время на нем работала более популярная в то время ОС RSTS (кто сейчас вспомнит названия некогда перспективных проектов?).

Из-за постоянно возрастающей потребности студентов в дополнительном машинном времени в 1975 году в университете появился еще один компьютер от DEC. На нем была инсталлирована System V6, являвшаяся в то время самой совершенной версией UNIX. Новый компьютер обеспечивал студентов-программистов необходимыми ресурсами для разработки собственных проектов.

Появление BSD

В 1976 году в университете уже был целый ряд компьютеров, работавших под управлением UNIX. При всем уважении к этой блестящей ОС надо отметить, что ей еще не доставало многих функций, необходимых пользователю. Заниматься доработкой никто не хотел, пока над системой не начали корпеть два аспиранта – Уильям (Билл) Джой (William (Bill) Joy) и Чак Хэйли (Chak Haylee). Поначалу они работали с компилятором языка Pascal, приспосабливая его для обучения студентов. Затем Джой, разочаровавшись в стандартном текстовом редакторе UNIX, написал собственный, получивший имя «ex».Этот редактор в измененном и доработанном варианте до сих пор входит в состав FreeBSD.

В определенный момент друзья поняли, что с постоянным «латанием дыр» UNIX далеко не уедешь, и решили создать собственный дистрибутив. Под их предводительством небольшая группа разработчиков, состоявшая в основном из студентов, объединились в Группу по Исследованию Компьютерных Систем (Computer System Research Group, CSRG). Первая версия их дистрибутива, вышедшего в 1977 году, включала в себя вышеупомянутый компилятор, среду разработки Pascal, а также текстовый редактор. Кроме того, в ней были исправлены ошибки, имевшиеся на тот момент в UNIX. Дистрибутив получил название Berkley Software Distribution. Сокращенно – известная вам аббревиатура BSD.

Впоследствии для него была написана новая система ввода, улучшена совместимость между терминалами, а также проведено тестирование системы в нескольких университетах.

В это же время Билл Джой занялся написанием текстового редактора, использующего все возможности BSD. Новый редактор получил название visual editor (сокращённо – vi). Его доработанная версия, которой пользуются по сей день, называется VIM и огромным количеством пользователей операционных систем считается лучшим текстовым редактором.

В конце 1979 года состоялся выход новой версии операционной системы – 2BSD. Тогда же был произведён перенос этой ОС со старых PDP-11 на компьютеры VAX. К тому времени BSD была единственной системой, полностью реализовавшей возможности новых систем по работе с виртуальной памятью.

Сетевая ОС

В начале 1980-х Министерство обороны США столкнулось со сложной проблемой. Парк компьютеров в их сети ARPAnet устарел, в результате чего назрела необходимость в их замене. Однако при этом необходимо было переносить программное обеспечение на новую архитектуру, что требовало полного переписывания важнейших частей кода. Для поддержания работоспособности сети была необходима операционная система, успешно работающая на самых разных типах компьютеров. Альтернативу UNIX, которая, как известно, работает практически на любых электротехнических приборах, придумать было сложно. Военные обратили внимание на только что вышедшую 3BSD и подписали с Калифорнийским университетом контракт.

Получившие финансирование программисты наконец-то смогли сосредоточиться на своей работе по-настоящему. Для поддержки новых ёмких жестких дисков была создана новая файловая система. FFS (Fast File System) отличалась от других повышенной надежностью и скоростью копирования файлов. Но, конечно, главные нововведения касались работы с сетью. Уже в восьмидесятые было ясно, что будущего у операционной системы без нормальной поддержки сетевых протоколов нет. Роб Гурвиц (Rob Gurwitz), Кирк Маккусик (Kirk McKusick) написали для ядра BSD реализацию стека TCP/IP, а также создали несколько важнейших утилит для связи и удаленного управления компьютером: rsh и rlogin.

Эти нововведения сделали новую версию ОС сверхпопулярной. BSD 4.1 (изначально релиз планировалось назвать 5BSD, но в AT&T беспокоились, что пользователь может перепутать проект Беркли с её System V) явно была лучше любой другой UNIX-системы того времени.

Весной 1982-го Билл Джой объявил о прекращении работы над проектом и своём уходе. «Отец» ОС перешел работать в Sun Microsystems, где его ждала SunOS. Без него работа застопорилась, и следующий релиз BSD вышел лишь в 1986 году. После того как компьютеры VAX в конце 80-х стали стремительно устаревать как в моральном, так и техническом плане, разработчики BSD доработали ОС для её более лёгкого переноса на другие платформы. Первой ласточкой стала новая архитектура Power 6/32 от компании Computer Consoles Incorporated. И хотя ей не суждено было стать массовой, полученный в результате опыт позволил разработчикам в дальнейшем создать версии BSD для самых различных платформ.

Вообще можно выделить две ветки развития UNIX. Первая, основанная на System V, дала жизнь таким системам, как HP-UX, Solaris, AIX. Главная их особенность – коммерческая основа, а также принадлежность одной определённой компании. Вторая ветка – различные вариации BSD с открытым исходным кодом и свободным распространением: FreeBSD, NetBSD и OpenBSD. Существует, конечно же, ещё и Linux, однако о ней в этой статье мы говорить не будем.

386 BSD

Разработчики BSD были правы, когда сделали ставку на сетевые возможности системы. В конце 80-х годов прошлого столетия этот «пункт» оказался особенно востребованным, и BSD начала быстро находить себе новых пользователей. Программисты, разрабатывавшие ПО с открытым исходным кодом, к тому времени уже объединились в единое Open Source-сообщество, в результате чего другие компании и разработчики также захотели воспользоваться реализацией протокола TCP/IP для реализации собственных сетевых продуктов, базировавшихся на данном стеке. Однако BSD хоть и являлась самостоятельной системой, во многом опиралась на код, унаследованный еще от UNIX компании AT&T. Так что коммерческое использование BSD без покупки лицензии у этой компании было невозможным.

Стоит отметить, что сетевые компоненты ОС были написаны программистами без использования коммерческого ПО, вследствие чего под лицензию AT&T не попадали. И тогда Калифорнийский университет принял решение создать миниатюрный дистрибутив, который включал бы в себя лишь реализацию сетевого стека да самые необходимые утилиты.

Этот программный пакет получил название Networking Release 1 (NR1). Для системы была разработана специальная лицензия, разрешавшая использовать её исходный код в любых целях при условии сохранения в нём авторских прав Калифорнийского университета. Несмотря на то что учебное заведение просило за одну DAT-картридж с NR1 1000 долларов, любой человек мог бесплатно и полностью легально скопировать дистрибутив у того, кто уже приобрёл кассету с ПО. Однако буквально сразу же некоторые приверженцы Open Source выложили дистрибутив для свободного скачивания на анонимных ftp-серверах, благодаря чему сразу несколько сотен компаний получили в своё распоряжение бесплатные средства для работы с TCP/IP-протоколом.

Переносом BSD на стремительно набиравшую популярность платформу IBM-совместимых компьютеров занялся Билл Джолитц (Bill Jolitz). Переписав основные компоненты следующей версии Networking Release под номером 2, он создал 386/BSD – первую открытую систему для архитектуры PC.

Эта ОС, по мнению общественности, отличалась нестабильностью и требовала серьезной доработки. Но дело было не в недостатке знаний у Джолитца, а в нехватке свободного времени. К счастью, благодаря тому, что 386/BSD находилась на ftp-серверах, она быстро попала в руки многих программистов, которые взялись за улучшение системы. Созданный независимыми разработчиками пакет Patchkit устранял основные недостатки ОС, а также добавлял в неё новые возможности.

К 1993 году Билл Джолиц больше не смог продолжать работать над 386/BSD и отошел от дел. Координаторами по развитию проекта стали разработчики Patchkit – Нейт Вильямс (Nate Williams), Род Граймс (Rod Grimes), Джордан Хаббард (Jordan Hubbard). Товарищи посовещались и решили взяться за полную переработку ОС. В результате история BSD получила новый толчок своего развития, имя которому – FreeBSD.

FreeBSD

Постепенно доработка 386/BSD начала превращаться в нечто большее, нежели постоянное исправление ошибок. К проекту присоединились еще два разработчика – Джулиан Элишер (Julian Elischer) и Дэвид Гринмен (David Greenman). Дэвид, кстати, придумал имя новой системе – FreeBSD.

Для более широкого распространения новой системы Джордан Хаббард обратился в компанию Walnut Creek CD-ROM, известную своим содействием свободно распространяемому ПО. В начале 90-х годов прошлого столетия Walnut Creek распространяла CD-дистрибутивы Linux, в частности, легендарный Slackware. Сотрудники компании не только занялись тиражированием дисков с FreeBSD, но и предоставили разработчикам мощный компьютер с доступом в Интернет.

Первая версия системы, FreeBSD 1.0, была доступна как на CD-ROM, так и для бесплатного скачивания с ftp-серверов. ОС базировалась на NR2, дополненной частями кода из 386/BSD и утилитами из Free Software Foundation. С момента своего появления новый проект начал пользоваться невероятным успехом, и уже через несколько месяцев была анонсирована FreeBSD 1.1.

Однако в этот момент произошёл весьма досадный инцидент, грозивший перерасти в катастофу. Как вы помните, исходный код операционный системы UNIX принадлежал AT&T. В 1994 году компания Novell, занявшаяся покупкой прав на различное ПО (например, DR-DOS с WordPerfect), выкупила права и на UNIX. Сразу после этого она подала в суд на Калифорнийский университет, обвинив его в незаконном распространении дистрибутива NR2, базировавшегося на коде, принадлежавшем Novell. В результате долгого судебного разбирательства университет был вынужден изъять из ОС все чужие фрагменты кода. А эти фрагменты являлись основой системы, самой важной её частью. В результате была выпущена новая версия операционной системы, 4.4BSD-Lite, состоявшая исключительно из свободного кода. Однако из-за отсутствия многих важных компонентов NR2 система 4.4BSD-Lite обладала массой ограничений, вследствие чего стала большим разочарованием для поклонников BSD.

На помощь пришла группа программистов из лагеря FreeBSD. Они решили переписать недостающие компоненты, практически заново воссоздав прежнюю операционную систему. Над вторым рождением NR2 в образе новой версии FreeBSD работал весь мир: сочувствующие BSD программисты вносили свой посильный вклад в разработку нового кода. Впоследствии подобный способ разработки блестяще реализовал Линус Торвальдс (Linus Torvalds), когда в работе над его ядром Linux приняло участие большое количество программистов со всего земного шара.

Реинкарнация системы заняла около года. Еще пара месяцев ушла на устранение шероховатостей в версии ОС для платформы x86. В январе 1995 года пользователи заполучили в свои руки дистрибутив FreeBSD 2.0. В июне вышел доработанный и дополненный релиз под номером 2.0.5.

В дальнейшем ОС изменялась «на глазах»: жесточайший мониторинг ядра, постоянные (каждые 3-5 месяцев) обновления. Рассказывать о том, какие нововведения появились во FreeBSD с изменением ее версий, я не буду. Для этого существует обширный файл с описанием изменений (change-log), доступный в Интернете.

Упомяну лишь, что с 1996 года начал применяться новый принцип названия версий системы. Все только что вышедшие новые версии ОС называются Release. В ветке STABLE, ориентированной на рядовых пользователей, исправляются ошибки и иногда добавляются некоторые изменения. Все же кардинально новые задумки реализуются в рамках ветки CURRENT, ориентированной на разработчиков, а также продвинутых пользователей системы.

NetBSD

NetBSD – результат деятельности большой группы программистов, считающих своей главной целью сделать систему максимально аппаратно независимой. В 1993 году, когда они взялись за работу, эта идея как раз становилась актуальной.

Операционная система была основана на различных свободно-распространяемых программных компонентах, главным образом – на дистрибутиве 4.4BSD-Lite, являвшейся прародительницей FreeBSD. Работа над системой стартовала в январе 1993-го, и уже к апрелю была выпущена первая версия. Функционировала NetBSD тогда только под i386. Чуть позже ОС перенесли на архитектуры Commodore Amiga, Sun Sparc и Apple Macintosh.

В сентябре 1995-го была создана организация NetBSD Foundation, координировавшая дальнейшее развитие проекта. Сегодня NetBSD продолжает развиваться согласно изначальной концепции – возможности работать на максимально широком круге аппаратных платформ. Новые релизы системы включают в себя поддержку DEC VAX и Alpha, Motorola PowerPC и др. Список платформ, на которых NetBSD чувствует себя комфортно, исчисляется сотнями. Установить ОС можно даже на игровую консоль.

Однако, несмотря на то что разработчики NetBSD пишут свой код в рамках POSIX, статус системы, соответствующей этим стандартам, она вряд ли получит. За стандартизацию нужно заплатить, а разработчики и так считают, что их ОС является самой лучшей из свободно распространяемых. Вполне объяснимая и понятная позиция программиста по отношению к своему труду. Вот только ставка на мультиплатформенность все же не оправдалась. Миром правит PC, да и на компьютерах Apple поклонников NetBSD не видно…

OpenBSD

Проект OpenBSD своим существованием обязан Тео Де Раадту (Theo de Raadt). Этот человек был одним из тех, кто стоял у истоков NetBSD. Но, отличаясь суровым нравом, Тео в 1995 году поссорился с товарищами и начал работать над собственным проектом. Основывался Тео на все той же BSD4.4-Lite. Кроме самостоятельных компонентов, OpenBSD по мере своего развития включала в себя разработки из лагерей FreeBSD и NetBSD. В первые годы своего существования OpenBSD была больше всего похожа именно на NetBSD, отличаясь от неё лишь некоторыми дополнительными функциями.

Главным козырем системы стала её высокая защищённость, о которой уже слагают легенды. OpenBSD известна как самая «неприступная» ОС, и ошибки, связанные с безопасностью, разработчики устраняют мгновенно. «Бесплатная. Функциональная. Безопасная» (Free. Functional. Security) – вот девиз OpenBSD, подчеркивающий ее главные достоинства. В рамках этого проекта были созданы файервол Packet Filter, который считается самым безопасным среди программ такого рода, а также наиболее популярная реализация протокола SSH – OpenSSH. Также разработчики OpenBSD с особенной тщательностью следят за документацией к системе и категорически возражают против не свободных программ.

Что ж, у операционных систем семейства BSD долгая и славная история. Будем надеяться, что их ждет не менее достойное будущее!

Приложение

Лицензия BSD

Кратко суть BSD-лицензии можно сформулировать следующим образом:

  • Операционная система и все входящие в комплект дистрибутива программы защищены авторским правом. При распространении ПО, использующего код Калифорнийского университета, копирайт должен быть обязательно сохранен в исходных текстах.
  • Нельзя ограничивать права пользователей своей программы путем скрытия исходного кода или каким-либо другим образом.
  • Любой пользователь, работающий с программой, которая распространяется по лицензии BSD, может изучать и модифицировать исходный код, а также использовать код для написания своих программ.

Говоря проще, программы по этой лицензии можно использовать бесплатно и делать с ее исходным кодом все, что душе заблагорассудится. Согласитесь, более свободную лицензию найти трудно.

BSD-лицензия очень похожа на лицензию GPL, однако у неё есть одно важное отличие. Все программы, лицензированные как GPL, обязаны сопровождаться исходным кодом. В случае же использования BSD возможно распространение ПО в бинарных файлах. Кроме того, все программы, разработанные при помощи GPL-лицензированных утилит, также автоматически попадают под действие этой лицензии.

Символ BSD

Символом операционной системы FreeBSD является демон (а не чертенок, как многие его ошибочно называют) по имени Beastie. Происхождение его объясняется очень просто: он не demon, а daemon – именно так в греческой мифологии называли добрых духов. «Демонами» также называют определенный вид программ под UNIX, выполняющих свою работу незаметно для глаз пользователя.

Рисунок 1. Символ FreeBSD

Рисунок 1. Символ FreeBSD

Придумал и нарисовал Beastie Кирк Маккусик, однако за прошедшее время различными энтузиастами было нарисовано огромное количество различных вариаций на тему этого символа.

Сообщество OpenBSD

Разработчики OpenBSD – не только хорошие программисты, но еще и очень интересные люди; вдобавок ко всему – творчески настроенные.

Ежегодно они собираются в одном из городов в Канаде или в США на мероприятие, именуемое «hackathons». Программисты общаются, делятся планами на будущее, пьют пиво, отдыхают. Также они проводят компьютерные конкурсы и создают рисунки для фирменных футболок встречи.

О рисунках разговор отдельный – на обложке каждого нового релиза OpenBSD красуется картинка (рис. 2) с довольно замысловатым сюжетом. Нарисована она, естественно, самими разработчиками.

Рисунок 2. Обложка последнего релиза OpenBSD

Рисунок 2. Обложка последнего релиза OpenBSD

Редактор Дмитрий Мороз


Комментарии отсутствуют

Добавить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-41
Fax: (499) 277-12-45
E-mail: sa@samag.ru