Баннер мобильный (1) Пройти тест

BSD

Глоссарий

1 марта 2024

Поделиться

Скопировано

Содержание

    BSD — это семейство операционных систем на основе UNIX. Самая известная ее версия — FreeBSD, бесплатная система с открытым исходным кодом. Чаще всего этой ОС пользуются айтишники.

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

    Название BSD означает Berkeley Software Distribution — систему придумали в Калифорнийском университете в Беркли. Когда-то она была закрытой, но потом ее исходный код открыли, и с тех пор на основе BSD появилось много ОС самого разного назначения. Практически все из них бесплатные.

    Для чего нужна BSD и кто ей пользуется

    Операционные системы BSD менее популярны, чем более известный Linux — суммарная доля их использования на рынке не больше 1%. Если учитывать только сервера, то процент применения BSD будет выше: в 1999 году под управлением этих ОС работало около 14% сайтов.

    При этом на основе BSD все еще работают крупные проекты. Например, эта система используется на серверах поисковика Yahoo, стримингового сервиса Netflix и мессенджера WhatsApp*, а еще на ее основе разработана операционная система консолей Sony PlayStation.

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

    Кто занимается разработкой BSD

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

    • контрибьюторы — пишут документацию и код и предлагают их сообществу. Сами они не вносят изменения в продукт, просто описывают и показывают, как, по их мнению, должна будет работать новая версия системы;
    • коммиттеры — просматривают код, который прислали контрибьюторы, и решают, внедрить его в систему или нет. Они могут советоваться с другими разработчиками или принимать решение единолично. Это единственная группа, которая имеет право редактировать исходники — коммитить изменения в ядре;
    • Core Team — управляющая команда, которая занимается менеджментом. Это узкая группа людей, которые давно работают с BSD и лучше других разбираются в системе. Они в большей степени определяют, как тот или иной дистрибутив будет развиваться в будущем.

    Для каждой версии BSD-системы — свое комьюнити разработчиков, поэтому над разными версиями работают разные группы. Хотя один и тот же энтузиаст может быть одновременно занят в нескольких группах, например и в команде FreeBSD, и в команде OpenBSD.

    Как устроены BSD-системы

    BSD — это UNIX-системы. То есть все они базируются на ядре UNIX, которое легло в основу многих популярных операционных систем от Linux до macOS. 

    Код изначальной UNIX никогда не открывали, поэтому юридически BSD — это не UNIX. Но эти системы пользуются ее кодом и считаются более похожими на «чистый» UNIX, чем, например, Linux.

    Система BSD состоит из нескольких основных компонентов:

    • ядро операционной системы. Оно управляет памятью и процессами, отвечает за общение с периферийными устройствами и оптимизацию работы процессора. В проекте BSD существует несколько ядер с разными возможностями — в конкретной ОС может использоваться одно или другое;
    • библиотека C. На языке программирования C пишут системный код. Поэтому библиотека C нужна, чтобы дать разработчикам возможность взаимодействовать с системой, писать для нее программы — словом, она предоставляет интерфейс для работы с BSD;
    • набор утилит, оболочки и другие вспомогательные средства. Инструменты для пользователя, например чтобы скачивать файлы и управлять ими, отдавать системе команды через консоль, компилировать код в понятный машине формат;
    • визуальная оболочка. Графический интерфейс, то, что видит пользователь на экране, когда запускает систему. В большинстве версий BSD используется оболочка, которая называется X Window;
    • прикладные и системные программы. То, с чем работает пользователь, — от текстовых редакторов до игр.

    Linux vs BSD: в чем различия

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

    У Linux одно ядро, у BSD — несколько разных. Ядро Linux — одно и то же вне зависимости от дистрибутива. И Debian, и Fedora, и даже Android глубоко внутри пользуются одним и тем же ядром. А у разных версий BSD разные ядра операционной системы. И возможности у них различаются.

    Библиотеки C у Linux и BSD — разные. Код библиотеки C для Linux написал Проект GNU. А код библиотеки для BSD написан Университетом в Беркли. В итоге эти две библиотеки различаются между собой, хотя эти различия актуальны в основном для системных программистов.

    BSD — более «цельная» система. Для Linux вполне нормальна ситуация, когда разные компоненты системы созданы разными разработчиками. Это помогает более гибко комбинировать модули ОС и настраивать систему под себя, но делает ее разрозненной и часто приводит к путанице — например, компоненты оказываются несовместимыми друг с другом. А BSD UNIX исповедует принцип «Вся система от одного поставщика», а ее разработчики, кроме ядра, сразу создают вспомогательные компоненты. Поэтому на практике BSD оказывается более целостным продуктом. Ее легче обновлять, не опасаясь проблем с совместимостью.

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

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

    Технические различия. Например, основа системы Linux — это только ядро, а в BSD вместе с ним поставляются дополнительные компоненты от тех же создателей. «Родная» файловая система BSD — UFS и ее усовершенствованная версия UFS32, а в Linux чаще всего используется Ext4. А еще в BSD два варианта установки новых программ: с помощью портов или пакетов. В Linux чаще всего используются только пакеты или аналоги BSD-портов.

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

    Известных дистрибутивов BSD меньше, чем у Linux, если не считать закрытых проектов — например, многие корпоративные ОС написаны на базе BSD. Мы не будем их учитывать и поговорим только про дистрибутивы, которые может загрузить и установить любой разработчик.

    FreeBSD. Самая известная из операционных систем BSD — 70–80% пользователей BSD работают именно с FreeBSD. Эту ОС ценят в веб-разработке, например для управления веб-хостингами. Ее главные принципы — надежность, производительность и простота использования, чтобы специалистам было комфортно работать с системой. Именно на основе FreeBSD работают сервера Yahoo, а еще она легла в основу многих других менее известных дистрибутивов.

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

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

    Другие дистрибутивы. Существует еще несколько решений, основанных на BSD. Вот некоторые из них:

    • DragonFlyBSD — система на базе FreeBSD, которую создал один из ее бывших разработчиков. Ориентирована на высоконагруженные сервера и многопроцессорные системы, ставит своей целью максимально эффективно использовать ресурсы аппаратуры;
    • FreeNAS — технически не относится к семейству BSD, но создана на ее основе. Это специализированная ОС для сетевых хранилищ, то есть для серверов, на которых хранятся данные;
    • macOS X — предшественница современной macOS была основана на BSD. Один из немногих случаев, когда операционная система семейства BSD оставалась закрытой и проприетарной.

    Что выбрать: BSD или Linux

    Это зависит от ваших потребностей. Если вы уже пользуетесь какой-то системой и она вас устраивает, можно ничего не менять. Это важный принцип айтишников: «Работает — не трогай». Ну а в целом при выборе нужно отталкиваться от особенностей и различий разных семейств ОС.

    • Linux популярнее, поэтому у него больше комьюнити, по нему проще найти какие-нибудь туториалы. 
    • У Linux больше дистрибутивов, в том числе для домашнего использования, например Ubuntu или Linux Mint.
    • Зато для BSD суммарно существует больше программ. Приложения для Linux можно запустить под BSD, а наоборот это не работает.
    • BSD — более целостная система, чем разрозненный Linux. Поэтому он немного менее гибкий, зато его удобнее обновлять и у него ниже риск ошибки.
    • BSD известны как очень стабильные системы, куда стабильнее, чем большинство дистрибутивов Linux.
    • Лицензия BSD не накладывает ограничений на проприетарное использование системы. Можно создавать коммерческие приложения с использованием BSD.

    Поэтому BSD больше подходит для тех, кому важны надежность, стабильность работы и возможность проприетарного использования. А Linux — для тех, кому актуальнее большое разнообразие, гибкость и активное комьюнити.

    * Принадлежит компании Meta, деятельность которой признана экстремистской в России.

    Поделиться

    Скопировано

    0 комментариев

    Комментарии