Источник: mindw0rk

В книге истории BSD намного больше страниц, чем в истории Linux. Беря начало в далеких семидесятых, BSD пережила эпоху UNIX-мейнфреймов и расцвета самых разнообразных UNIX-систем. Она и по сей день доказывает свою вечность и востребованность в лице современного поколения свободных, в духе opensource-времени, дистрибутивов. Этой осенью выходит новый релиз FreeBSD 5.3, первый в стабильной ветке 5 и знаменующий переход на новый качественный уровень. Не за горами релиз NetBSD 2.0, имеющий примерно такое же значение. И то и другое - безусловно, настоящее событие для всех bsd"шников. Эта статья - посвящение легендарной операционной системе.

Профессор из Беркли

Шел 1973 год. Время начала расцвета глэм-рока, вьетнамской войны и операционной системы UNIX. Той самой, первоначальной, от AT&T (Bell Labs), которая успела с момента первого релиза 1971 года (UNIX Time Sharing System First Edition, или просто UNIX System V1) дорасти до четвертой версии, выпущенной в ноябре. И в ноябре же, на симпозиуме «Принципы проектирования операционных систем» в университете Пурдью (Purdue) авторы UNIX Кен Томпсон и Деннис Ритчи выступили со свом первым докладом на тему новой ОС. На этом симпозиуме присутствовал профессор Боб Фабри из Калифорнийского университета Беркли, которого настолько поразила красота операционки, что он сразу же заказал копию дистрибутива на магнитной ленте для своего университета. О коммерческом применении UNIX тогда не было и речи, AT&T свободно раздавала исходные тексты своей системы для изучения в образовательных учреждениях.

Для установки и изучения UNIX совместными усилиями факультетов компьютерных наук, математики и статистики университет Беркли приобрел новый компьютер PDP-11/45 от DEC. И в январе 1974 года аспирант Кейт Стэндифорд уже вставлял свежеполученную ленту с UNIX System V4 в считывающий привод терминала. Как правило, в университетах, получивших копию UNIX, установку системы выполнял сам Кен Томпсон. Но в Беркли решили обойтись силами своих студентов. Через какое-то время помощь Кена все-таки понадобилась - система периодически аварийно рушилась. Вместо того, чтобы отправиться в Беркли, Томпсон позвонил Стэндифорду и указал тому соединить модем с телефоном, чтобы иметь возможность удаленно отлаживать систему. Выяснилось, что проблема была в драйвере дискового контроллера - PDP-11/45 оказалась первой в практике Томпсона машиной, имевшей два диска на одном контроллере, на что драйвер не был рассчитан. Так началось сотрудничество Bell Labs и Калифорнийского университета по совершенствованию UNIX.

Позже в университете появился еще один компьютер под управлением UNIX. Машины в Беркли, как и в других вузах того времени, работали строго по расписанию - кому-то был нужен UNIX, кому-то - RSTS, собственная операционка от DEC, ставившаяся тогда на все PDP. С 8 утра до 4 вечера на компьютере работал UNIX, а затем до полуночи - RSTS. Это очень не устраивало профессоров Юджина Вонга и Майкла Стоунбрейкера, которых настолько восхитили возможности новой ОС, что они захотели побыстрее перенести на нее разрабатываемую ими крупную базу данных INGRES. Машинного времени постоянно не хватало, и весной 1975 года в Беркли появился еще один DEC-11/40 под управлением вышедшей к тому моменту UNIX System V5. К осени INGRESS под UNIX разошлась в количестве нескольких сотен экземпляров, в результате чего Беркли получил репутацию университета, в котором рождаются действительно крупные проекты.

Интерес студентов к UNIX был поистине огромным, и осенью 1975 года Фарби со Стоунбрейкером решили приобрести новую модель PDP-11/70, которая была гораздо мощнее предыдущих. В это же время Кен Томпсон, выпускник Калифорнийского университета, решил ненадолго навестить свою альма-матер и захватил с собой самую последнюю на тот момент версию UNIX - System V6, которую установили на новую PDP-11/70.

Рождение BSD

Итак, к 1976 году в Беркли было уже несколько машин под управлением UNIX. Но о серьезной ее доработке никто не помышлял, пока системой не заинтересовались два студента, только что закончившие обучение, - Билл Джой и Чак Хэйли. Поначалу они проводили дни и ночи за PDP-11/70, работая над компилятором и языком Pascal, в итоге сделав его лучшей средой для обучения студентов программированию. Затем, после замены текстовых телетайпов на экранные терминалы, Джой обнаружил, что текстовый редактор ed, использовавшийся тогда, их уже не устраивает. И он приступил к работе над своим редактором, который назвал ex.

В 1976 году, после отъезда Кена Томпсона Джой и Хэйли стали самостоятельно ковыряться во внутренностях ядра UNIX. Результатом этого стали небольшие изменения в коде и несколько исправлений. Эти два парня стали первыми кернел-хакерами из Беркли.

В 1977 году Билл Джой, осознав, что одними исправлениями не обойтись, начал делать свой дистрибутив. Так 9 марта 1978 года появился «Berkeley Software Distribution» - первый релиз операционной системы Беркли. Он включал в себя пресловутую Pascal-систему со всеми исходными текстами и редактор ex. В течение следующего года по разным вузам разошлось 30 копий новой ОС. Затем на PDP Беркли вновь обновили устройства ввода, поставив новенькие терминалы ADM-3a, и Джой решил написать текстовый редактор, который использовал бы всю визуальную мощность новых мониторов. Так родился великий и ужасный vi (visual editor). Кроме того, Джой решил проблему совместимости вывода на терминалах разного типа, написав не менее знаменитую библиотеку termcap. Все это вошло во второй релиз ОС, «Second Berkeley Software Distribution», вышедший 10 мая 1979 года. Позже имя сократили до лаконичного 2BSD. Финальная версия второго релиза, 2.11BSD, с улучшениями и дополнениями, сделанными в результате обширного тестирования системы в нескольких университетах, была установлена на сотни PDP-11 машин по всему миру. По сути, состоялось первое серьезное клонирование классического UNIX. Весьма удачное клонирование.

В 1978 году шестнадцатибитные PDP уже не удовлетворяли многих хакеров, им на смену пришли VAX - новые мощные машины от DEC, работающие под ОС VMS. Разумеется, в Bell Labs портировали свою, уже седьмую версию UNIX на новые машины, однако их система не использовала всех преимуществ виртуальной памяти VAX. К разрешению этой проблемы привлекли кернел-хакеров из Беркли во главе с Биллом Джоем. Джой был поражен возможностями нового железа - эта система оставляла PDP-11 далеко за бортом. Так он начал портировать 2BSD на VAX.

Пока его коллеги Питер Кесслер и Кирк Маккусик портировали Паскаль, Джой переписал ex и vi, свою новую командную оболочку C shell и остальные утилиты. В итоге, в 1979 году Беркли выпустила законченную сборку 2BSD под VAX.

Одновременно с этим событием Bell Labs решила поставить UNIX на коммерческие рельсы и основала подразделение по подготовке и выпуску стабильных релизов. UNIX перестал быть исследовательским проектом, представляя теперь коммерческий продукт AT&T. Роль центра разработки UNIX, ранее принадлежавшая Bell Labs, теперь перешла к Беркли.

К 1979 году американское агентство передовых оборонных разработок DARPA (Defence Advanced Research Projects Agency) столкнулось с проблемой устаревания многих компьютеров, составляющих ее знаменитую сеть ARPANET. В случае замены потребовалось бы портировать все программное обеспечение на новые машины. Сказывалась разношерстность сети - разные машины, разные операционные системы. Было ясно, что для дальнейшего масштабирования и развития сети необходима стандартизация. Так как выбор единой аппаратной платформы для построения сети представлялся труднореализуемым, стандартизацию решили провести на уровне ОС. Разумеется, в качестве единой операционной системы был выбран UNIX, который, казалось, можно портировать на самое невообразимое железо.

Осенью 1979 года профессор Фарби прослышал про интерес DARPA к UNIX и предложил услуги своего университета. Вышедший в декабре того же года релиз 3BSD подтвердил, что новая система как нельзя лучше подходила нуждам военных, и в апреле 1980-го Беркли получила полуторагодичный контракт DARPA. Под контрактные работы была создана организация Computer System Research Group (CSRG) - отделение университета, куда входили студенты и профессора, занятые работой над BSD. Результат не заставил себя ждать - в октябре того же года выходит 4.0BSD с почтовой системой, планировщиком задач и многими другими улучшениями. DARPA осталась довольна результатом и продлила контакт, увеличив инвестиции почти в пять раз.

Следующий релиз BSD должен был, по логике, называться 5BSD. Однако в AT&T сочли, что пользователи могут спутать 5BSD c их текущим коммерческим релизом, System V (5). По этой причине Беркли решила ввести дополнительную нумерацию релизов. Так, следующими были 4.1BSD и 4.2BSD.

Продленный контракт с DARPA предусматривал создание новой быстрой файловой системы (Fast File System), чтобы эффективно использовать возможности новых жестких дисков, поддержку процессов с многогигабайтным адресным пространством, создание механизма гибкого межпроцессного взаимодействия, а также единого интегрированного стека сетевых протоколов для общения машин в ARPANET.

Джой занялся межпроцессным взаимодействием (что впоследствии получило название UNIX sockets), реализацию файловой системы взял на себя Маккусик, а Роб Гурвиц реализовал TCP/IP, которую затем включили в ядро BSD. Тогда же были написаны сетевые утилиты для взаимодействия по сети: rcp, rsh, rlogin, rwho. Получилась настолько хорошая система, что разработчики решили выпускать ее не только для DARPA.

Вслед за промежуточными релизами 4.1a и 4.1b была выпущена 4.2BSD. Популярность нового релиза оказалась ошеломляющей - за полтора года он разошелся тиражом более тысячи копий! Со своей новой файловой системой FFS и интегрированной поддержкой сети ОС из Беркли оставила UNIX System V далеко позади. И хотя потом многие возможности 4.2BSD были портированы в System V, BSD долго оставалась лидером на рынке UNIX-систем.

Весной 1982 года Джой, наверное, посчитал, что основное уже сделано, потому ушел в Sun Microsystems. Тем не менее, в системе еще многое предстояло отладить, о чем свидетельствовали тесты производительности и багрепорты. Это нормальное явление, когда ОС становится популярной. Маккусик сотоварищи остались в CSRG, занимаясь очисткой багов и подготовкой нового релиза. 4.3BSD была выпущена через долгие 4 года в июне 1986. Многие пользователи за это время возвратились к UNIX System V, успевшей приобрести поддержу сети и многие другие возможности, появившиеся в 4.2BSD. Так что новый релиз оси Беркли позволил поправить ее пошатнувшиеся позиции.

В конце восьмидесятых эра VAX подходила к концу. Предвидя это, Джой еще во время подготовки релиза 4.1 занимался разделением кода ядра на машинно-зависимые и независимые части, чтобы в дальнейшем их было проще адаптировать под новые процессоры. Сменить VAX должна была архитектура Power 6/32 от «Computer Consoles, Inc.», и в Беркли даже выпустили 4.3BSD под кодовым названием «Tahoe», закончив работу Джоя по разделению кода. Однако популярности новая платформа не снискала и вскоре умерла. Как бы то ни было, именно она стала катализатором завершения работ по созданию настоящей портируемой системы. Это впоследствии сыграло свою роль, когда BSD портировали на множество аппаратных платформ.

Сеть, BSD-лицензия и Великий Суд

Конец восьмидесятых годов - это расцвет всевозможных юниксовых ОС и сетевых технологий. К этому времени уже стало ясно, что без сети дальше никуда, поэтому основное внимание уделялось сетевым компонентам. Угадай с трех раз, у кого в те годы была лучшая реализация стека протоколов TCP/IP? Вот почему сообщество было так заинтересовано в свободном использовании исходных кодов операционки Беркли. CSRG, следуя традициям исследовательского духа, всегда выпускал свою систему вместе с исходниками, но, к сожалению, не мог предоставлять право другим организациям использовать их для применения в своих продуктах. Этого не позволяла лицензия, по которой AT&T распространяла исходники своего UNIX. А BSD, хоть и была самостоятельной системой, основывалась на коде от Bell Labs. Так что любой пользователь BSD был обязан купить лицензию на UNIX у AT&T. Но стек TCP/IP для BSD был целиком разработан в Беркли, поэтому летом 1989 года принимается решение выпустить так называемый «Networking Release 1», или 4.3BSD Net/1 - по сути, кусок операционной системы, содержащий код сетевого стека протоколов и сопутствующих утилит. Код выпустили под новой лицензией, которую так и назвали - BSD License. Согласно ей любой мог свободно загрузить исходные тексты и использовать их в своих целях, в том числе коммерческих, без каких-либо отчислений Беркли, лишь только сохранив копирайты в тексте файлов и указав в документации к своему продукту, что он основан на коде из Беркли.

Поступок парней из Беркли вызвал исключительно положительную реакцию. Несколько крупных компаний выложили исходные коды на свои ftp-сервера для свободного доступа, в университет, помимо благодарностей, поступило множество пожертвований денежных средств на дальнейшее развитие ОС.

И вскоре Беркли выпустил уже вторую версию своего сетевого релиза. В нем появились кардинальные изменения в подсистеме виртуальной памяти (код взят из проекта Mach университета Карнеги-Мелона) и новая сетевая файловая система (NFS). В обоих случаях использовались готовые наработки дружественных университетов, что показало выгоду и ценность BSD-лицензии - вместо того чтобы писать что-то с нуля, можно использовать то, что написали другие, в ответ предоставляя им свои наработки. Таким образом не было нужды изобретать велосипед, и время тратилось на новые разработки.

Новый релиз BSD должен был иметь порядковый номер 4.4, однако в Беркли решили предварительно протестировать изменения, выпустив в начале 1990 года релиз 4.3BSD-Reno.

Вскоре после этого один из разработчиков BSD Кейт Бостик вспомнил про удачный опыт с сетевым релизом и отметил, что неплохо бы выпустить и остальную часть системы под BSD-лицензией. Однако для этого потребовалось бы переписать огромное количество утилит из библиотек, пришедших в BSD из AT&T UNIX. Ведущие на тот момент разработчики Кирк Маккусик и Майк Карельс скептически восприняли идею - уж больно велик был объем работы. Но Бостик не сдавался. Он решился на эксперимент, который в какой-то степени затем был повторен Линусом Торвальдсом и стал основой развития систем с открытыми исходниками. Бостик призвал BSD-хакеров со всей сети переписать UNIX-утилиты, руководствуясь лишь инструкциями того, что те должны делать. 18 месяцев спустя практически все утилиты и библиотеки были переписаны. У Беркли теперь была действительно своя система. Оставалось переписать ядро, которое к тому времени уже в значительной мере было своим. И Маккусик, Карельс, Бостик, забросив все дела, принялись строчка за строчкой изучать файлы ядра, оставшиеся со времен AT&T UNIX. В итоге осталось всего шесть файлов, которые, по мнению разработчиков, так просто переписать бы не удалось. Их решили оставить на месте и в июне 1991 года Беркли выпустила «Networking Release 2» (4.3BSD Net/2). Теперь практически вся система (кроме шести файлов ядра) была абсолютно доступна всем желающим под самой дружественной в мире BSD-лицензией. Это и предопределило будущую вечную жизнь BSD.

В девяностых годах IBM PC окончательно захватила нишу недорогих компьютеров. Спустя полгода после второго сетевого релиза, Билл Джолиц начал портировать Net/2 на архитектуру i386, переписав недостающие 6 файлов. Он назвал свою работу 386/BSD и распространил ее по сети. Затея оказалась удачной, и вскоре группы пользователей 386/BSD занялись написанием патчей и усовершенствованием системы. Так стартовали современные проекты NetBSD и FreeBSD.

Сам Джолиц вместе с некоторыми членами CSRG ушел продвигать BSD в коммерцию, основав компанию BSDI (Berkeley Software Design, Inc.). Благо, код, выпущенный под BSD-лицензией, позволял продавать дистрибутив без исходных кодов. BSDI активно рекламировала свою новую систему BSD/OS как UNIX, и всем заинтересованным предлагалось звонить по телефону 1-800-ITS-UNIX. Однако компанию AT&T возмутил такой шаг, и она в лице Unix System Laboratories (USL), подразделения по продаже и разработке UNIX, потребовала немедленно прекратить рекламировать продукт BSDI как UNIX и убрать номер телефона. Условия были выполнены, и BSDI даже сменила рекламу своего продукта, объясняя, что это не UNIX. Однако USL этого было мало, и она подала в суд на BSDI, обвинив компанию в продаже кода, принадлежащего Bell Labs. В ответ BSDI предоставила доказательства, что ее система - это не что иное, как копия продукта, свободно распространяемого университетом Беркли плюс шесть дополнительных файлов, написанных программистами компании. За код Беркли BSDI, ясное дело, ответственности не несла, так что победа в суде была за ней.

USL не унималась и подала в суд на Калифорнийский университет в лице CSRG. По прошествии месяцев долгих разборок было решено непосредственно сверить код операционных систем, чтобы найти в BSD куски кода USL. В итоге из Net/2 были удалены 3 файла, оставшихся со времен UNIX System V5, и еще в 70 файлов были добавлены копирайты USL. Все остальное к тому времени уже было переписано хакерами из CSRG в рамках подготовки Net/2. Свободная система сохранила свободу!

По итогам судебных разбирательств окончательная версия релиза BSD вышла под названием 4.4BSD-Lite летом 1994 года, под той же лицензией, что и Net/2. Важным решением суда был тот факт, что USL не имела права судить какую-либо организацию, использующую 4.4BSD-Lite в качестве базы для своей ОС. Поэтому все разработчики, уже выпускавшие свои релизы на основе Net/2 (а к тому времени уже существовали NetBSD и FreeBSD, базировавшиеся на 386/BSD), были вынуждены переключиться на новые исходные тексты. Что они и сделали за самое короткое время.

4.4BSD-Lite2. BSD is dead, Long Live BSD!

2 июня 1995 года вышла 4.4BSD-Lite Release 2 с небольшими улучшениями и дополнениями. После этого последнего релиза группа CSRG университета Беркли объявила о своей отставке. За 20 лет BSD из клона UNIX превратилась в самостоятельную ОС, подарив миру надежную файловую систему, эталонную реализацию стека TCP/IP, систему печати LPD и, что самое главное, свободу. После роспуска CSRG BSD не думала умирать. FreeBSD к тому времени стала лидирующей unix-like ОС на intel-машинах, NetBSD портировали на множество платформ, BSD/OS предлагала отличные коммерческие решения. Беркли выполнили свою миссию, пустив UNIX в свободное плавание по сетевому океану, и плавание это будет длиться вечно.

Отличия BSD и Linux

Если ты прочитал статью, ты, наверное, сам сможешь ответить на этот вопрос. BSD - это целая операционная система с 30-летней историей, тогда как Linux - всего лишь ядро, само по себе к употреблению не пригодное. Поэтому, говоря о дистрибутивах Linux, корректнее называть их GNU/Linux - операционная система GNU с ядром Linux. GNU - это фонд программного обеспечения, который появился в 80-ые годы с целью создать свободный UNIX, распространяемый под GPL-лицензией. Отец GNU и GPL - Ричард Столлман.

Если говорить о технической стороне дела, то в BSD, в отличие от классической UNIX System, нет понятия уровня запуска (runlevels), а есть только два режима - однопользовательский (single user) и многопользовательский (multi user). Соответственно, имеется разница в расположении управляющих скриптов и в поведении некоторых утилит. Наконец, BSD имеет исторически сформированную иерархию файловой системы, набора сервисов и скриптов, тогда как в Linux все упомянутое скачет от дистрибутива к дистрибутиву, как разработчики пожелают.

По аналогии с неофициальным термином «*nix», обозначающим все UNIX-системы, существует термин «xBSD», который употребляется в случае, если речь идет не о конкретном проекте, а о семействе дистрибутивов в целом.

BSD-лицензия

BSD-лицензия, наверное, самая либеральная за всю историю. Ее требования можно сформулировать в трех пунктах:

Не утверждай, что ты написал это. Сохраняй наши копирайты в исходных текстах. Если распространяешь свой продукт только в бинарном виде - указывай в сопроводительной документации, что он использует код из Беркли.

Не используй наше имя для продвижения своего продукта. То, что ты сделал, основано на коде BSD, но не имеет права называться BSD. Наша марка не может использоваться в рекламных целях.

Не предъявляй претензии, если что-то не заработает. Нет никаких гарантий, код предоставляется AS IS, на свой страх и риск.

Все знают, что символ BSD - симпатичный демон. Появился он в 1988 году с легкой руки Кирка Маккусика, придумавшего талисман для 4.3BSD. Разумеется, тот, первоначальный демон выглядел не совсем так, как современный, символизирующий FreeBSD. Ознакомиться с его историей в картинках можно по адресу www.mckusick.com/beastie/index.html. Эви Немет в своей классической хрестоматии «Unix System Administration Handbook» так объясняет происхождение этого талисмана: «Многие люди пугаются и думают, что демон в данном случае - это нечто сатанинское. Однако это не demon, а daemon, в греческой мифологии означающий примерно то же, что нынешний ангел-хранитель, добрый дух». Как же зовут этого милашку? Маккусик утверждает, что у демона нет имени, и это предмет его особой гордости, но если ты хочешь, можешь называть его Beastie.

При проектировании корпоративной IT-системы необходимо определиться с кругом решаемых задач и с требованиями по безопасности, быстродействию и надежности. Эти характеристики напрямую зависят от выбора операционной системы (ОС), устанавливаемой на сервере. Свободно распространяемые UNIX-подобные системы BSD и GNU/Linux постепенно вытесняют привычный Windows. Они более безопасны, поскольку доступ осуществляется по принципу «все запрещено, что не разрешено», поэтому они практически не подвержены вирусным атакам, обладают высокой производительностью и надежностью.

Операционные системы семейства BSD

Система распространения программного обеспечения Berkeley Software Distribution (BSD) была создана в начале 90-х годов выпускниками Университета Беркли (Калифорния). Разработчики UNIX-подобной операционной системы 386BSD выложили исходники в открытый доступ, на их основе были написаны базовые ОС:

  • BSD/OS, коммерческая версия.
  • NetBSD, open-source.
  • FreeBSD, open-source.

Коммерческая версия больше не поддерживается, а другие open-проекты успешно развиваются. В настоящее время существуют 4 проекта BSD с открытыми кодами. Каждый проект основан на своем собственном ядре; они созданы для разных целей, но практически мало отличаются друг от друга.

Семейство BSD:

  • FreeBSD – проект нацелен на создание простой в управлении системы с высокой производительностью.
  • DragonFlyBSD - высокопроизводительная масштабируемая ОС предназначена для поддержки многопроцессорной обработки данных (SMP), создана из проекта FreeBSD;
  • NetBSD – поддерживает максимальную переносимость кода для разных вычислительных ресурсов; поддерживает устаревшее оборудование; эту ОС использовали в космических проектах NASA.
  • OpenBSD – надежная ОС с повышенным уровнем безопасности создана на базе проекта NetBSD; ее устанавливают в банках и государственных учреждениях США .

Отдельно можно отметить TrueOS (ранее PC-BSD) - операционная система, основанная на FreeBSD и ориентированная для использования на рабочих станциях.

Самая распространенная – FreeBSD, она установлена у 80% пользователей , остановивших свой выбор на семействе BSD.

В режиме online доступна подробная документация в разных форматах по настройке и управлению системой.

На FreeBSD приложения можно установить двумя способами:

  • при помощи диспетчера пакетов (начиная с версии 9.1 по умолчанию предлагается новая, более гибкая реализация пакетов, практически не отстающая от версий в портах);
  • с использованием коллекции портов.

Коллекция портов - автоматизированная система сборки программ из исходных кодов - значительно упрощает процесс установки. На данный момент насчитывается более 33 000 приложений . Достаточно задать параметры сборки, выбрав нужные пункты из меню, и запустить процесс на выполнение.

Операционные системы Linux

Linux, в отличие от BSD, является только ядром ОС. Добавлением к ядру GNU-программ формируются ОС GNU/Linux со своим набором прикладных и системных компонентов. Дистрибутивы Linux распространяются в виде инсталляционных пакетов бесплатно или за умеренную цену; можно скомпилировать систему из исходных кодов.

Основные линукс-дистрибутивы:

  • Debian – один из первых дистрибутивов.
  • Ubuntu – самый популярный линукс, созданный на базе Debian.
  • Fedora – поддерживается компанией RedHat.
  • RHEL – коммерческая версия линукса Fedora.
  • Gentoo – полностью собирается из исходных кодов, можно гибко настроить систему.
  • Mint – совместим с Ubuntu, содержит Java и AdobeFlash.
  • Slackware – старейший линукс.
  • Arch – постоянно обновляемый дистрибутив, поддерживает бинарный формат и установку из исходных кодов.
  • CentOS – основан на коммерческом дистрибутиве RedHat, стабильная серверная ОС.
  • PCLinuxOS – портативный LiveCD дистрибутив.

Каждый линукс создавался под определенные задачи. Для установки Gentoo и Arch необходим богатый опыт в разрешении проблем с зависимостями и драйверами. Относительно просто устанавливаются дистрибутивы Ubuntu и Debian.

Разобраться в тонкостях работы с системой помогают советы опытных специалистов из неформального сообщества линуксоидов. Большинство приложений, написанных под Linux, можно свободно скачать из репозиториев в Интернете.

Сравниваем FreeBSD и Linux

И семейство BSD, и линуксы чаще всего разрабатываются на некоммерческой основе и доступны для бесплатного использования. Пользователи могут брать исходные коды и изменять по своему усмотрению.

И FreeBSD, и дистрибутивы семейства Linux являются UNIX-подобными операционными системами. Линукс изначально создавался Линусом Торвальдсом как свободная альтернатива UNIX-подобной системе MINIX, в то время как FreeBSD ближе к изначальной версии UNIX: первая ОС семейства BSD даже носила название Berkeley Unix.

Общее UNIX-наследие обоих семейств проявляется в использовании сходных паттернов. И там, и там взаимодействие пользователя с системой осуществляется преимущественно с помощью командного интерпретатора (shell), программный интерфейс приложения (API) обладает схожим функционалом, есть сходство и в иерархии файловой системы. Благодаря этому гораздо проще портировать приложения из FreeBSD в Linux и наоборот, нежели из других, не-UNIX-подобных систем.

Одно из основных отличий между семейством BSD и дистрибутивами, в основе которых лежит ядро Linux, состоит в типе лицензирования.

Большинство дистрибутивов Linux и приложений для них распространяются под лицензией GNU GPL, также известной как лицензия «copyleft» («авторское лево»), позволяющая использовать оригинальный код для создания новых продуктов, не запрашивая разрешения владельца исходных текстов, но сохраняя условия его распространения. Эта лицензия продвигает идею свободного распространения и открытости превыше всего. Поэтому при разработке проприетарного ПО стоит с осторожностью использовать продукты, лицензированные GPL.

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

Еще одно принципиальное отличие заключается в том, что FreeBSD содержит не только ядро, но и базовые компоненты операционной системы, разработанные командой FreeBSD. В то время как линукс - это только ядро. А вот уже конкретный дистрибутив включает в себя помимо ядра и определенный набор программного обеспечения, собранный зачастую из разных источников.

Использование FreeBSD и Linux

Интересно, что и FreeBSD, и Linux лежат в основе множества других открытых и проприетарных систем, а также используются на различных устройствах.

Например, FreeBSD легла в основу следующих продуктов:

  • FreeNAS - операционная система для сетевого хранилища.
  • pfSense - дистрибутив межсетевого экрана.
  • m0n0wal - дистрибутив встроенного межсетевого экрана.
  • Darwin - ядро систем macOS, iOS.
  • Junos - операционная система для сетевого оборудования от Juniper Networks.
  • Isilon Systems’ OneFS - операционная система для сетевого хранилища от Dell EMC.
  • Netflix Open Connect appliances - стриминговые серверы.
  • Игровые консоли PlayStation 3, PlayStation 4, PlayStation Vita от Sony Computer Entertainment.
  • и др.

На основе ядра Linux созданы:

  • Android - операционная система для мобильных устройств (Google).
  • Tizen - операционная система для мобильных устройств (Samsung).
  • VMware ESXi - гипервизор.
  • ChromeOS - операционная система для ноутбука Chromebook.
  • ОС для одноплатных компьютеров Cotton Candy и Raspberry Pi.
  • ОС для сетевого оборудования Linksys.
  • и др.

Заключение

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

В ATLEX дистрибутив CentOS используется на серверах и серверах для предоставления услуги на базе Xen. Для облачных сервисов OpenStack применяется дистрибутив Ubuntu. А на FreeBSD работают некоторые служебные серверы.

Вы можете установить и протестировать любую ОС на виртуальных машинах в нашем , а специалисты компании всегда окажут вам квалифицированную поддержку.

Сегодня мы попытаемся разобрать, что лучше подходит для ваших целей, Linux или BSD системы. GNU/Linux и BSD - это две системы с открытым исходным кодом, принадлежащие к семейству UNIX. Несмотря на это, у обеих систем заметны определенные различия, особенно это заметно в поддержке железа, в принципах разработки ПО и т.д. Также Linux намного более распространен, нежели BSD.

Когда вы решили выбраться из экосистемы Windows, вы сразу же обратите внимание на macOS. Вряд ли вы ее установите, так как придется купить компьютер Mac. Конечно, можно установить Hackintosh, но для раскрытия ее потенциала вам понадобится специфичное "железо". Многие сомневаются в GNU/Linux как в ОС, что было темой для споров на протяжении долгого времени.

Таким образом, некоторые люди называют операционную систему Linux как GNU/Linux.
Вскоре вы начинаете понимать, насколько разнообразна экосистема Linux с многочисленными дистрибутивами и их производными. Не думайте, что операционные системы на базе ядра Linux - единственные в своем роде ОС с исходным кодом. Есть и менее известное семейство операционных систем, известное как BSD (Berkeley Software Distribution), которое также считается одной из главных в сообществе открытого исходного кода.

Самой большой разницей между Linux и BSD является то, что Linux сам по себе является ядром, в то время как BSD является операционной системой (также включает в себя ядро). Ядро Linux используется для создания дистрибутива Linux после сборки других компонентов. Возьмите ядро Linux с GNU программами и прочим, и вы получите полноценную ОС GNU/Linux. В случае BSD - подобных систем, разработчики создают полную операционную систему.

И Linux, и BSD семейства имеют своего маскота или талисмана. Как вы догадались, для Linux это Такс (пингвин), а для BSD-мультяшный демон.

Выбор Linux и BSD

Для пользователей Linux существует бесчисленное количество дистрибутивов. Все они являются производными некоторых популярных дистрибутивов Linux, включая Debian, Gentoo, Red Hat, Slackware и т.д. В дополнение к этому, существует множество отдельных дистрибутивов Linux как Solus, Puppy Linux и т.д.

BSD как самостоятельная ОС больше не существует, но она используется для обозначения существующего семейства производных BSD. В настоящее время BSD представляют три основные ОС, а именно FreeBSD, OpenBSD, NetBSD, наряду с DragonFly BSD и другими дистрибутивами. FreeBSD нацелен на обычных пользователей, на долю которого приходится около 80%.

Программы для Linux и BSD

Пакеты для Linux систем поставляются в готовом (бинарном) виде. Существует два наиболее популярных формата: DEB и RPM, для установки которых требуется наличие APT/yum соответственно.

Совсем по другому обстоит ситуация с BSD, где для установки программ используются порты. На данный момент насчитывается приблизительно 25000 портов.

В отличии от готовых пакетов в Linux, порты содержат исходный код, который необходимо скомпилировать на вашем компьютере. Эта особенность делает FreeBSD неудобной для использования для обычных пользователей. Тем не менее, количество готовых бинарных пакетов, устанавливаемых через утилиту pkg , растет.

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

Обратите внимание на одну вещь. Перед тем как вы станете считать FreeBSD чем то запредельным, имейте в виду, что она поддерживает и популярные DE, например KDE и GNOME, и много других программ, доступных для Linux.

Связь UNIX и BSD

Известно, что большинство ныне существующих ОС в каком то смысле относятся к UNIX. UNIX имел закрытый исходный код (да, вы не ошиблись) - операционная система, разработанная в Bell Labs и написанная на ассемблере. Позже, большая часть системы была переписана на языке Си.

BSD (с закрытым исходным кодом) и ее производные являются прямыми потомками UNIX. В отличие от своих предков, FreeBSD, NetBSD и другие BSD - подобные являются системами с открытым исходным кодом.

Ядро Linux было написано Линусом Торвальдсом, который до сих пор контролирует весь процесс разработки ядра.

Linux vs BSD: поддержка "железа"

Операционные системы с открытым исходным кодом лишены нормальный поддержки оборудования. В плане поддержки "железа" лидируют Windows и MacOS. Будь это новейший процессор или видеокарта, эти закрытые ОС предоставляют хорошую поддержку, оставляя GNU/Linux и BSD позади.

Если речь идет о редких устройствах, то по сравнению с Windows, дистрибутивы Linux имеют преимущество, так как разработчики сотрудничали с производителями устройств. BSD в этом плане далеко позади, и далеко не факт, что ваш, к примеру, китайский Wi-Fi модуль тут же "заведется".

GPL и BSD лицензии

Еще одно большое отличие между Linux и BSD это вид лицензии, которыми они защищены. GNU/Linux поставляется c GNU GPL (General Public License)

Операционные системы, что основаны на BSD, поставляются с BSD лицензией, так же известной как FreeBSD лицензией.

GPL олицетворяет мировоззрение Ричарда Столлмана, что программное обеспечение должно быть свободным, доступным для всех. Именно поэтому при использовании GNU GPL разработчик обязан опубликовать исходный код в свободном доступе.

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

Работает - не трогай

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

Именно поэтому BSD системы считаются наиболее стабильными и надежными.

Подведем итоги

Что касается спора об целесообразности установки Linux или BSD, Linux наиболее распространен на ПК, нежели FreeBSD. Это обусловлено тем, что для использования BSD необходимо быть более "технически подкованным", а к тому же GNU/Linux имеет намного лучшую поддержку оборудования. Еще одним фактором в споре Linux vs BSD может являться поддержка сообщества Linux.

BSD системы более известны своей надежностью, а поэтому находят свое место на серверах и встраиваемых системах. Также BSD имеет возможность запускать исполняемые файлы, предназначенные для Linux, но, к сожалению, обратная совместимость не предоставляется возможной. Трудно сказать, что лучше, так как обе ОС имеют свои собственные плюсы и минусы.

На завершение видео с обзором NetBSD:

В сфере современного программного обеспечения с открытыми исходниками слово «Linux» практически превратилось в синоним понятия «операционная система», хотя мало кто знает о том, что в действительности же это далеко не единственная на сегодняшний день ОС типа Unix, исходные коды которой являются доступными для всех.

В соответствии с данными, полученными от IOSC, в 1999 году практически треть всех машин, которые были подключены к интернету, работали на основе Linux, в то время как практически 15% применяли операционную систему FreeBSD. Что это за система, и по сегодняшний день знают лишь немногие современные пользователи ПК, несмотря на все ее преимущества и широкое распространение в свое время. Стоит отметить тот факт, что многие мировые лидеры в сфере Web-услуг активно работают на данной системе. В частности, стоит отметить, что на сегодняшний день система Yahoo основана на FreeBSD. Что это дает пользователям, сами они вряд ли знают и даже задумываются, но владельцы системы уверены, что это правильное решение.

Что представляет собой BSD?

BSD расшифровывается как Berkeley Software Distribution. Именно так в своем время называлось программное обеспечение, которое в Беркли распространял в исходных кодах. При этом стоит отметить тот факт, что изначально дополнение к стандартной операционной системе UNIX - это единственное, что представляло собой FreeBSD. Что это было по сравнению с нынешней версией системы?

На основе версии 4.4 BSD-Lite создавалось несколько операционных систем, имеющих открытые исходные коды. В частности, состав этих систем включал в себя разработки других проектов, среди которых отдельного внимания заслуживает проект GNU.

Структура

Преимущества и особенности, которые имеет данная система, отличаются структурой FreeBSD. Что это за структура:

  • Ядро, которое предназначается для тщательной планировки всех процессов, управления памяти, работы с различными устройствами, а также поддержки многопроцессорных систем. При этом следует отметить тот факт, что, в отличие от ОС Linux, в данном случае есть несколько типов ядер BSD, которые отличаются разными особенностями.
  • Библиотека С, которая используется в качестве основного системного интерфейса программирования, причем основывается на коде из Беркли, а не из проекта GNI.
  • Всевозможные файловые утилиты, компиляторы, оболочки, редакторы связей, а также другие программы конечного пользователя, при этом некоторые из них основываются на коде GNU.
  • FreeBSD UNIX - операционная система, включающая в себя X Window, которая отвечает непосредственно за Данная система применяется в преимущественном большинстве версий BSD и официально поддерживается проектом X.Org. Данная система позволяет пользователю делать выбор из нескольких графических оболочек, а также целого ряда легких оконных менеджеров.
  • Большое количество других системных и прикладных программ.

Что такое настоящий UNIX?

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

BSD - это UNIX?

И действительно, операционная система UNIX никогда не представляла собой программное обеспечение, имеющее открытый исходный код, в связи с чем BSD определенно нельзя будет назвать системой UNIX, хотя бы потому, что графический интерфейс операционных систем является разным. Однако в то же время компания, которая разрабатывала UNIX, активно пользовалась чужими разработками, и в частности это относится к программному обеспечению, которое разрабатывалось организацией CSRG.

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

В течение 80-х годов сформировалось несколько компаний, занимающихся производством рабочих станций, при этом стоит отметить, что многие из них приобретали лицензии на использование UNIX вместо того, чтобы пробовать разрабатывать с нуля собственное программное обеспечение. В частности, стоит выделить компанию Sun, которая поступила таким образом и решила на основе версии 4.2BSD в конечном итоге выпустить собственную операционку, которая называлась SunOSTM. Когда же компания AT&T, занимающаяся разработкой UNIX, в конечном итоге решила заняться коммерческой продаже собственной операционной системы, появилась довольно аскетичная реализация - System III, за которой с течением времени последовал также выход системы System V.

По какой причине эта операционная система остается невостребованной?

Есть некоторый ряд причин, по которым сегодня FreeBSD 10 пользуется не таким широким спросом:

  • Разработчики чаще всего интересуются качеством собственного кода, причем больше его шлифовкой, а не рекламой.
  • По большому счету, популярность Linux является следствием целого ряда внешних факторов относительно данного проекта, в частности, это касается средств массовой информации, а также компаний, которые решили сформировать собственный бизнес, предоставляя услуги пользователям этой операционной системы.
  • Разработчики BSD в преимущественном своем большинстве являются более опытными по сравнению с разработчиками Linux, в связи с чем они гораздо меньше внимания уделяют тому, чтобы облегчить жизнь простым пользователям. Другими словами, настройка FreeBSD для обычного пользователя является более сложной, чем
  • В 1992 году разработчик UNIX решил подать в суд на компанию BSDI, которая занималась поставкой операционной системы BSD/386. Основной пункт обвинения в данном случае был тем, что в ОС содержался закрытый код, принадлежавший истцу, и вроде бы дело в конечном итоге было улажено за пределами суда в 1994-м, но целый комплекс вторичных тяжб даже в наши дни отравляет жизнь многим людям.
  • Есть мнение, что сами по себе проекты BSD различаются и при этом могут даже конфликтовать между собой. Данное мнение основывается на событиях, которые происходили достаточно давно.

Что лучше - Linux или BSD?

На сегодняшний день чаще всего выбирают, устанавливая сервер Apache, FreeBSD вместо традиционного для большинства других систем Linux. Для среднего пользователя разница между этими системами является удивительно малой, так как оба продукта основываются на UNIX. Обе системы разрабатываются на некоммерческой основе.

Кому принадлежит BSD?

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

Что все-таки выбрать?

Выбор между этими операционными системами является действительно достаточно сложным, поэтому можно выделить несколько советов, которые позволяют выбрать, какой вариант является оптимальным - Linux или FreeBSD. Команды в обоих случая являются довольно схожими, поэтому выбор чаще всего может строиться на основе следующего:

  • Если вами уже используется определенная Open Source ОС, то в таком случае вам не стоит даже что-то менять.
  • Системы FreeBSD могут проявлять гораздо большую производительность, но это правило не является универсальным.
  • Системы BSD отличаются довольно неплохой репутацией, и особенно это касается надежности.
  • BSD-проекты отличаются более хорошей репутацией благодаря тому, что они отличаются высоким качеством, а также полнотой доступной документации.
  • В BSD можно использовать преимущественное большинство исполнимых файлов Linux, в то время как Linux не может использовать многие выполнимые в BSD файлы.

Обеспечивает техническую поддержку, а также обслуживает FreeBSD - порты и системы - компания FreeBSD Mall, Inc.