Проект FreeBSD -- прямой потомок AT&T UNIX,
имеет долгую и бурную историю, берущую своё начало в 1993 году. В
отличие от Linux дистрибутивов, которые можно определить, как
интегрированные программные решения состоящие из Linux ядра и тысяч
программных приложений, FreeBSD -- очень сильно
интегрированная операционная система, построенная на BSD ядре и, так
называемом, юзерленде ("userland") (следовательно, используемым даже
без участия дополнительных приложений). Эта различие, во многом,
теряется при установке системы на обычный компьютер, потому как, так же
как и у многих Linux дистрибутивов, огромная коллекция простых в
установке программ с (в основном) открытым исходным кодом (open source)
доступна для расширения базы FreeBSD, но такие программы обычно предоставляются сторонними контрибьюторами и не являются, в строгом смысле, частью FreeBSD.
FreeBSD
имеет репутацию быстрой, высокопроизводительной и чрезвычайно
устойчивой операционной системы, особенно полезной в применении для
веб-серверов и других, схожих задач. Много больших интернет поисковых
движков и организаций с критическими вычислительными процессами
установили и используют FreeBSD на своих компьютерных системах в течении многих лет. По сравнению с Linux, FreeBSD
распространяется под гораздо менее строгой лицензией, которая
позволяет, в принципе, неограниченное переиспользование и изменение
исходного кода системы для любых целей. Даже Mac OS X от фирмы Apple,
как известно, берет своё начало из BSD. Помимо базовой операционной
системы, этот проект также предоставляет большое количество программных
приложений в бинарном и исходном кодах для простой установки поверх
базового набора FreeBSD.
История и разработка
Разработка FreeBSD началась в 1993 году с большой скоростью, в качестве отправной точки были взяты исходные тексты 386BSD.
Однако, из соображений законности использования исходных кодов 386BSD,
команда разработчиков FreeBSD переработала большую часть системы ко
времени выпуска FreeBSD 2.0 в январе 1995 г., используя 4.4BSD-Lite. Руководство FreeBSD содержит более подробную историческую информацию о происхождении FreeBSD. Существует две одновременно разрабатываемые ветви FreeBSD — CURRENT и STABLE. CURRENT (нестабильная, тестовая) предназначена для тестирования
нового, экспериментального кода. Новые функции, добавленные в CURRENT,
могут остаться в системе или от них могут отказаться, если реализация
окажется неудачной. Иногда эта версия может оказаться в непригодном для
использования состоянии. STABLE (стабильная или производственная) версия содержит только те
нововведения, которые прошли проверку в CURRENT. Тем не менее, эта
версия тоже предназначена, в основном, для разработчиков. Не
рекомендуется обновлять ответственные рабочие серверы до STABLE,
предварительно её не протестировав. На основе STABLE регулярно
создаются тщательно протестированные разработчиками RELEASE версии. По состоянию на 17 июля 2008 года текущий релиз FreeBSD имеет номер 7.0 [2]. После выпуска релизов создаются дополнительные ветви разработки для
их поддержки, но в них вносятся лишь самые необходимые изменения,
исправляющие серьёзные ошибки или проблемы с безопасностью системы. До
четвёртой версии FreeBSD у стабильной и текущей веток был один и тот же
старший номер версии. Затем текущей ветви был присвоен номер 5, а у
стабильной остался номер 4. В настоящее время стабильная версия имеет
номер 7, а текущая — 8. Существует также ветвь 6-STABLE для поддержки
тех пользователей, которые ещё не обновили FreeBSD до версии 7. FreeBSD 5 включает несколько новых функций, в том числе относящихся к безопасности. С целью повысить безопасность FreeBSD был сформирован проект TrustedBSD, в рамках которого были разработаны, в том числе: расширяемая система принудительного контроля доступа MAC, списки доступа ACL для файловых систем и новая файловая система UFS2. Некоторые функции TrustedBSD были интегрированы также в операционные системы NetBSD и OpenBSD. FreeBSD 5 также поддерживает шифрование файловых систем посредством системы GDBE, которую написал Пол-Хеннинг Камп (Poul-Henning Kamp),
один из ведущих разработчиков. Другие важные возможности FreeBSD 5
относятся к внутриядерным блокировкам для улучшения производительности
на многопроцессорных SMP-системах и многопоточности,
реализованной системой KSE, которая являлась поточной библиотекой по
умолчанию начиная с версии 5.3. Позже libkse в этом качестве была
заменена на libpthread, однако до сих пор поддерживается в -STABLE.
Порты и пакеты
Система портов FreeBSD обеспечивает механизм установки сторонних программ, распространяемых как в исходных кодах
(обычный способ в мире UNIX) так и в бинарных файлах (для проектов с
закрытым исходным кодом). Порт включает в себя файлы, необходимые для
правильных компиляции,
установки и работы приложения под FreeBSD. В настоящее время коллекция
портов насчитывает около 18000 приложений самого разного назначения.
Самая свежая информация о портах находится на сайте freshports.org.
Большинство портов позволяют создавать пакеты (или «пакаджи» от англ. package — пакет, посылка), с помощью «цели» package для утилиты make.
Пакет представляет собой архив, содержащий собранные исполняемые и
другие необходимые файлы, а также данные и скрипты для быстрой
автоматической установки или удаления данной программы. Вместе с
программой ставятся все зависимости — другие пакеты, с программами или библиотеками необходимые данной программе.
Недостатком распространения программ в пакетах является ограничение
на архитектуру, а также — отсутствие гибкости присущей портам — сложные
порты могут конфигурироваться на тот или иной вариант сборки
(называемый flavor — дословно «аромат»), пакеты же, как
правило, собираются для одного (простейшего) или нескольких популярных
вариантов конфигурации.
Кроме этого, при сборке пакетов не используется некоторых
оптимизаций, например по типу процессора. Так, для архитектуры x86,
типичными параметрами сборки являются оптимизация второго уровня под
процессор i486, в то время как сборка с оптимизацией под процессоры семейства 686 (Pentium Pro
и выше), по некоторым оценкам может дать прирост производительности (в
математических вычислениях) до 20% и уменьшить размеры исполняемых
файлов. Разумеется, такие тонкости критичны только для серверов с
большой вычислительной загрузкой.
Указанные недостатки делают пакеты хорошим способом для быстрой установки простых программ, не имеющих особых требований.
Пакет привязан к конкретному диапазону версий системных и прикладных
библиотек, поэтому иногда для работы пакета в более поздней версии
операционной системы (особенно в случае отличия номера версии) может
потребоваться установка пакета совместимости (misc/compat3x;
misc/compat4x; misc/compat5x; и т. п.). Но необходимость прибегать к
таким мерам возникает довольно редко — вскоре после выпуска новой
версии системы, становится доступен и полный набор пакетов для
архитектур x86 и amd64 собранный, для неё, по состоянию дерева портов,
на момент выпуска.
Официальный сайт Screen shots
Скачать
|