- 4 Сравнение BSD и Linux
- 4.1 Кому принадлежит BSD?
- 4.2 Как выглядит процесс разработки и обновления BSD?
- 4.3 Версии BSD
- 4.4 Какие существуют варианты BSD?
- 4.5 В чём отличие между лицензией BSD и Общественной Лицензией GNU (GPL)?
- 4.6 Что ещё следует знать?
- 4.7 Что же выбрать, BSD или Linux?
- 4.8 Кто предоставляет техническую поддержку, обслуживание и обучение для систем BSD?
- Сайт HTG объясняет: Какая разница между Linux и BSD?
- Основы
- Сравниваем ядро и полную операционную систему
- Лицензирование
- Системы BSD
- Когда следует выбирать BSD вместо Linux?
4 Сравнение BSD и Linux
В чём заключается главная разница, к примеру, между Debian Linux и FreeBSD? Для среднего пользователя она на удивление мала: оба продукта представляют собой UNIX-подобные операционные системы. Оба продукта разрабатываются на некоммерческой основе (это не относится к некоторым другим дистрибутивам Linux). В этом разделе мы рассмотрим BSD в сравнении с Linux. Всё сказанное в основном будет касаться FreeBSD, которой принадлежит около 80% всех инсталляций BSD в мире, хотя различия с NetBSD и OpenBSD в рамках предмета данной статьи незначительны.
4.1 Кому принадлежит BSD?
Нельзя сказать, что какой-то конкретный человек или корпорация владеет BSD. Разработка и распространение ведутся группой высококвалифицированных и преданных проекту специалистов со всего мира. Некоторые компоненты BSD представляют собой отдельные Open Source проекты со своими коллективами разработчиков.
4.2 Как выглядит процесс разработки и обновления BSD?
Ядра BSD используют Open Source модель разработки. Каждый проект поддерживает публично доступное дерево исходников с помощью Concurrent Versions System (CVS). Это дерево содержит абсолютно весь исходный код проекта, а также документацию и вспомогательные файлы. CVS позволяет пользователям получить копию дерева любой версии системы.
Огромное число людей со всего мира участвуют в совершенствовании BSD. Все они разделены на три группы:
Контрибьюторы (contributors) пишут код или документацию. Они не могут добавлять или изменять код непосредственно в дереве исходников проекта. Это привилегия особым образом зарегистрированных разработчиков, или коммиттеров (committers) , которые просматривают и тестируют присылаемый им код и включают его в дерево.
Коммиттеры — это группа разработчиков, которые имеют доступ на запись в дерево исходных кодов проекта. Чтобы стать коммиттером, человек должен проявить себя в той области, в которой он хочет работать.
Каждый коммиттер по своему собственному усмотрению решает, нужно ли ему подтверждение правильности планируемых изменений от других разработчиков или нет. В общем случае опытный коммиттер может вносить очевидно выгодные изменения ни с кем не советуясь. К примеру, коммиттер проекта документации может исправлять опечатки или грамматические ошибки в документах без предварительного согласования. Напротив, далеко идущие или просто сложные изменения настоятельно рекомендуется представлять к обсуждению перед окончательным внесением в дерево. Бывают крайние случаи, когда член Core Team, выполняющий функцию архитектора проекта, может санкционировать немедленную отмену или откат (backing out) каких-то изменений в дереве. Все коммиттеры обязательно получают уведомление о каждом изменении в дереве по электронной почте, так что их невозможно сохранить в тайне.
В проектах FreeBSD и NetBSD существует такое понятие как Core team — группа людей, занимающихся управлением деятельностью других разработчиков. Их роль, права и обязанности не всегда чётко определены. Необязательно (хотя в порядке вещей) быть коммиттером для того, чтобы входить в состав Core Team. Правила, которым следует Core Team, различаются между проектами, но в общем случае члены Core Team определяют общее направление развития системы в большей степени, чем все остальные разработчики.
Такое положение вещей отличается от принятого в Linux:
Не существует человека, который бы контролировал содержимое системы. На практике значение этого отличия оказывается переоценённым, так как Главный Архитектор может всегда потребовать откат изменений. Ко всему прочему, в проекте Linux на современном этапе изменения в код вносятся тоже не одним, а несколькими людьми.
С другой стороны, существует центральное хранилище (repository), откуда можно получить полный код всей системы, причём как современных, так и предыдущих версий.
Проекты BSD являются цельными «Операционными Системами», а не просто ядрами. Это различие тоже иногда переоценивают: ни BSD, ни Linux не представляют ценности без приложений, а они порой одни и те же в обеих средах.
В результате формализованной процедуры поддержки единого дерева исходников в CVS процесс разработки BSD является полностью открытым, и мы получаем возможность доступа к любой версии системы по номеру или по дате. CVS также очень хорошо подходит для последовательных изменений в коде: к примеру, хранилище кода FreeBSD обновляется около ста раз за день, и большинство этих изменений весьма малы и незначительны в отдельности друг от друга.
4.3 Версии BSD
Каждый проект BSD предоставляет миру три различных варианта системы. Как и в Linux, версиям присваиваются номера, например 1.4.1 или 3.5. В добавок, номер версии имеет суффикс — обозначение варианта, которое указывает на цели той или иной версии.
Версия для разработчиков носит название CURRENT . FreeBSD присваивает ей и номер, например FreeBSD 5.0-CURRENT. NetBSD использует чуть-чуть другую схему наименований и добавляет к номеру однобуквенный суффикс, обозначающий изменения во внутренних интерфейсах. Пример: NetBSD 1.4.3G. OpenBSD не нумерует разрабатываемую версию («OpenBSD-current»). Все новые разработки производятся именно на этой «ветке» (branch) системы.
Через определённые интервалы от 3 до 6 месяцев проект выпускает версию RELEASE , которая распространяется на CD-ROM и доступна для скачивания по ftp. Примерами таких версий могут служить OpenBSD 2.6-RELEASE и NetBSD 1.4-RELEASE. Этот вариант предназначен для конечных пользователей. NetBSD также предоставляет так называемые исправленные релизы (patch releases) , обозначаемые третьей цифрой в номере, например NetBSD 1.4.2.
По мере обнаружения ошибок в версии RELEASE необходимые исправления вносятся в дерево CVS. Получающаяся система в проекте FreeBSD носит название STABLE , а в NetBSD и OpenBSD продолжает называться RELEASE. Некоторые мелкие улучшения тоже иногда вносятся в эту версию после продолжительного периода тестирования в CURRENT.
Linux, напротив, поддерживает два различных дерева исходников, которые называются соответственно стабильной версией и версией для разработчиков. Стабильные версии имеют чётный вторичный номер, например 2.0, 2.2 или 2.4. Версии для разработчиков используют нечётные номера, такие как 2.1, 2.3 или 2.5. Во обоих случаях, к двойному номеру версии добавляется ещё одно число, указывающее на конкретный релиз. Стоит также отметить, что каждый поставщик предоставляет свой собственный вариант пользовательских программ (userland), так что имя дистрибутива тоже имеет значение. Естественно, что поставщики нумеруют свои изделия каждый по-своему, и, таким образом, мы получаем что-то вроде «TurboLinux 6.0 с ядром 2.2.14».
4.4 Какие существуют варианты BSD?
В отличие от многочисленных дистрибутивов Linux, в мире существует лишь три BSD проекта с открытыми исходными кодами. Каждый из них поддерживает своё собственное дерево исходников и своё собственное ядро. На практике однако оказывается, что пользовательские части (userland) различных BSD отличаются гораздо меньше, чем у разных дистрибутивов Linux.
Цели каждого из проектов не поддаются чёткой формулировке. Различия между ними весьма субъективны. В основном,
проект FreeBSD нацелен на повышение производительности и простоту в использовании конечными пользователями. FreeBSD очень ценят в среде веб-хостеров. Эта ОС работает на Intel-совместимых платформах, а также на платформе Alpha фирмы Compaq. Число пользователей FreeBSD значительно превышает число пользователей других проектов BSD.
проект NetBSD ставит целью максимальную мобильность (или портабельность) кода: девиз «конечно NetBSD работает на этом». NetBSD поддерживает машины от крошечных палмтопов до огромных серверов и использовалась NASA в космических миссиях. Это хороший выбор для старой не-Intel аппаратуры.
проект OpenBSD нацелен на безопасность и «чистоту» кода. С помощью комбинирования концепций открытых исходников и скрупулёзного анализа кода проект демонстрирует чудеса корректности работы системы. В силу названных причин совершенно естественно, что OpenBSD выбирают организации, для которых очень важна защита информации, например банки, фондовые биржи и различные департаменты правительства США. Также как и NetBSD, проект поддерживает целый ряд аппаратных платформ.
Следует упомянуть ещё две операционных системы BSD, которые не предоставляют публичного доступа к своим исходным кодам. Это BSD/OS компании BSDI и Mac OS X компании Apple.
BSD/OS является самым старым из потомков 4.4BSD. Исходный код не доступен широкой публике, хотя лицензия на него стоит относительно немного. BSD/OS во многом похожа на FreeBSD.
Mac OS X — это самая последняя версия операционной системы для линейки компьютеров Macintosh фирмы Apple Computer Inc. Исходный код ядра Mac OS X распространяется по принципам Open Source, в отличие от остального кода. Ключевые разработчики Mac OS X имеют доступ на запись в хранилище проекта FreeBSD.
4.5 В чём отличие между лицензией BSD и Общественной Лицензией GNU (GPL)?
Linux распространяется на условиях лицензии GNU General Public License (GPL), русский перевод которой тоже существует. Эта лицензия имеет целью уничтожить программное обеспечение с закрытым исходным кодом. В частности, любое ПО, базирующееся на продукте, выпущенном на условиях лицензии GPL, тоже должно поставляться с исходными кодами по первому требованию. Лицензия BSD не накладывает таких жёстких ограничений: разрешается распространение программного обеспечения в двоичном виде (binary-only). Этот факт привлекает разработчиков встроенных (embedded) приложений.
4.6 Что ещё следует знать?
То обстоятельство, что приложений для BSD существует меньше, чем для Linux, вынудило разработчиков BSD позаботиться о создании дополнительной совместимости с Linux, которая позволяет запускать программы для Linux на компьютере, работающем под BSD. Программный пакет, обеспечивающий совместимость, включает в себя как ядерную реализацию системных вызовов Linux, так и разнообразные файлы, необходимые программам, скомпилированным для Linux, например библиотеку C. Разница в скорости выполнения Linux-приложений на машине с Linux и на такой же машине с BSD незаметна.
Принцип «вся система от одного поставщика», используемый в BSD, приводит к упрощению процедур обновления системы по сравнению с многими дистрибутивами Linux. BSD предоставляет специальные модули совместимости с устаревшими версиями системных библиотек, и таким образом делает возможным запуск откомпилированных несколько лет назад программ на обновлённой системе.
4.7 Что же выбрать, BSD или Linux?
Во что выливается всё вышесказанное на практике? Кому предназначена BSD, и кому — Linux?
Это действительно очень сложный вопрос. Приведём несколько советов, которые призваны помочь Вам с выбором:
«Не тронь, пока работает»: если Вы уже успешно используете какую-нибудь Open Source ОС, и она Вас устраивает, то пожалуй не стоит ничего менять.
Системы BSD, в особенности FreeBSD, могут демонстрировать большую по сравнению с Linux производительность. Но это вовсе не универсальное правило. Во многих случаях эта разница не заметна, если вообще есть. Иногда Linux может работать лучше, чем FreeBSD.
В общем случае, у систем BSD очень хорошая репутация, когда дело касается надёжности. Это, в основном, связано с более «зрелой» базой исходных кодов.
Лицензия BSD иногда может быть более привлекательной, нежели GPL.
BSD может выполнять код для Linux, а обратное неверно. В результате мы имеем большее количество прикладного программного обеспечения для BSD, чем для Linux.
4.8 Кто предоставляет техническую поддержку, обслуживание и обучение для систем BSD?
Компания BSDI всегда поддерживала BSD/OS, а недавно они объявили о наличии контрактов на техническую поддержку FreeBSD.
Также, каждый из проектов постоянно обновляет список консультантов, которые оказывают поддержку за отдельную плату: FreeBSD, NetBSD, and OpenBSD.
Prev | Home |
Почему BSD недостаточно известна? |
По вопросам связанными с FreeBSD, прочитайте документацию прежде чем писать в .
По вопросам связанным с этой документацией, пишите .
По вопросам связанным с русским переводом документации, пишите .
Источник
Сайт HTG объясняет: Какая разница между Linux и BSD?
Linux и системы BSD являются свободными Unix-подобными операционными системами с открытым исходным кодом. Они даже используют большую часть того же самого программного обеспечения — у этих операционных систем общего больше, чем различий. Так почему же они все существуют?
Есть большое количество различий, которые мы здесь можем рассмотреть, особенно философские разногласия по поводу того, как следует строить операционную систему и как ее лицензировать. Это должно помочь вам разобраться с основами.
Основы
То, что большинство людей называют «Linux», на самом деле не Linux. Технически Linux — это просто ядро Linux — типичные дистрибутивы состоят из многих частей программного обеспечения. Вот почему Linux иногда называют «GNU/Linux». На самом деле, большая часть этого же программного обеспечения, работающая поверх Linux, является точно таким же программным обеспечением, используемым в BSD.
Linux и системы BSD являются Unix-подобными операционными системами. Как мы уже рассматривали, когда изучали историю Unix-подобных операционных систем, Linux и BSD имеют разное происхождение. Linux был написан Линусом Торвальдсом (Linus Torvalds), когда он был студентом в Финляндии. BSD является сокращением от «Berkeley Software Distribution» (Дистрибутив программ Беркли), поскольку первоначально это был набор модификаций для Bell Unix, созданных в Университете Калифорнии, Беркли. Он, в конечном итоге, превратился в полноценную операционную систему, и теперь существует несколько различных систем BSD.
Сравниваем ядро и полную операционную систему
Официально Linux это просто ядро. Распространители Linux должны выполнить работу по соединение вместе всего программного обеспечения, необходимого для создания полноценной ОС Linux, и объединяя его в виде дистрибутива Linux, например, Ubuntu, Mint, Debian, Fedora, Red Hat или Arch. Есть много различных дистрибутивов.
В противоположность этому, системы BSD являются как ядром, так и операционной системой. Например, в системе FreeBSD предлагается как ядро FreeBSD, так и операционная система FreeBSD. Это поддерживается в рамках одного проекта. Другими словами, если вы хотите установить FreeBSD, вы просто устанавливаете FreeBSD. Если вы хотите установить Linux, то вы, прежде всего, должны будете сделать выбор среди многих дистрибутивов Linux.
Системы BSD включают в себя систему портов, которая предоставляет возможность установки программных пакетов. Система портов содержит программное обеспечение в виде исходного кода, так что ваш компьютер должен скомпилировать их, прежде чем они будут работать. Если вы когда-либо использовали систему Gentoo, когда она была популярна, то это что-то в этом роде. Тем не менее, пакеты также могут быть установлены в виде предварительно установленного двоичного кода, поэтому вам не придется тратить время и системные ресурсы для их компиляции.
Лицензирование
Значительная разница в лицензирование, хотя для большинства людей это не будет иметь значения. В Linux используется лицензия GNU General Public License или GPL. Если вы модифицируете ядро Linux и распространяете его, то вы должны предоставить исходный код ваших модификаций.
В системах BSD используется лицензия BSD. Если вы модифицируете ядро или дистрибутив BSD и распространяете его, вам вообще не нужно предоставлять исходный код. Вы свободны делать все, что вам понравится с кодом BSD, и вы не обязаны предоставлять исходный код, хотя вы можете сделать это, если хотите.
Обе лицензии с открытым кодом, но по-разному. Люди иногда увязают в дебатах о том, какие лицензии является «более свободными». GPL помогает пользователям за счет того, что они могут иметь исходный код программного обеспечения GPL, но это ограничивает разработчиков, заставляя их выпустить исходный код. Лицензия BSD не гарантирует то, что пользователи могут иметь исходный код, но он дает разработчикам свободу делать с кодом все, что они выберут, даже если они захотят включить его в проект с закрытым исходным кодом.
Системы BSD
К ним часто относят следующие три «главные» операционные системы BSD:
- FreeBSD : Система FreeBSD является самой популярной системой BSD, стремящейся к высокой производительности и простоте использования. Он хорошо работает на стандартных 32-битных и 64-битных процессорах Intel и AMD.
- NetBSD : Система NetBSD предназначена для работы на почти всем и поддерживает гораздо больше архитектур. Девиз на ее домашней странице следующий — «Конечно, на этом устройстве работает NetBSD».
- OpenBSD : Система OpenBSD предназначена для обеспечения максимальной безопасности — не только благодаря ее особенностям, но и благодаря практике ее реализации. Она создан, чтобы быть операционной системой, которую банки и другие серьезные учреждения будут использовать для критически важных систем.
Есть две другие известные операционные системы BSD:
- DragonFly BSD : Система DragonFly BSD была создана с целью разработки операционной системы, которая работала бы хорошо в многопоточных средах — например, в кластерах из нескольких компьютеров.
- Darwin/Mac OS X : Система Mac OS X на самом деле базируется на операционной системе Darwin, который базируется на системе BSD. Она немного отличается от других систем BSD. В то время как ядро нижнего уровня и прочее программное обеспечение являются открытым исходным кодом BSD, большая часть кода из остальной части операционной системы является закрытым исходным кодом Mac OS. Компания Apple создала системы Mac OS X и IOS поверх BSD, поэтому ей не потребовалось самой писать операционную систему низкого уровня, точно также, как Google создало систему Android поверх Linux.
Когда следует выбирать BSD вместо Linux?
Linux по-прежнему более популярен, чем даже FreeBSD. Например, в Linux новое оборудование поддерживается гораздо раньше, чем во FreeBSD. В системах BSD есть пакет, обеспечивающий совместимость, поэтому они могут изначально выполнять двоичные модули Linux и большая часть программного обеспечения работает аналогичным образом.
Если вы пользовались Linux, во FreeBSD вы не почувствуете никакой разницы. Установите FreeBSD в качестве операционной системы настольного компьютера, и вы в конечном итоге будете с помощью того же окружения рабочего стола GNOME, KDE или Xfce будете пользоваться, как и на Linux, большей частью тем же самым остальным программным обеспечением. Но как вы только доберетесь до этой точки, FreeBSD не будет автоматически устанавливать графический рабочий стол, так что вам потребоваться позаботиться о себе больше, чем в современных дистрибутивах Linux. Это практика более старой школы.
Система FreeBSD может быть предпочтительной в некоторых серверных операционных системах для ихо надежности и стабильности. Производители, создающие устройства, могут выбрать BSD в качестве операционной системы, а не Linux, для того, чтобы им не нужно было создавать релиз изменений в своем коде.
Если вы пользователь настольного компьютера, вам, действительно, не нужно слишком много думать о BSD. Для, чтобы иметь превосходную аппаратную поддержку, более простую установку и использовать более современные подходы, вы, вероятно, отдадите предпочтение Linux. Если вы собираете сервер или устройство со встроенной системой, то вы можете по этой причине предпочесть использовать FreeBSD.
Мы, вероятно, получим комментарии от тех, кто сейчас пользуется системой FreeBSD на своих настольных компьютерах, и вы, конечно, можете сделать это! Но операционная система, например, Ubuntu или Mint, будет более дружественной и более современной для большинства пользователей.
Источник