Статья
Версия для печати
Обсудить на форуме
Краткое описание ОС FreeBSD.


Операционная система FreeBSD


Статья КРАТКО описывает систему FreeBSD, так как основная задача цикла состоит в программировании этой операционной системы, а не в ее описании и отличии от других систем. Тем не менее, я считаю, что эта статья необходима в качестве вводной, так как расказывает об основных положениях, касающихся этой ОС и далее рассматриваться не будут.
ВСЕ МОИ СТАТЬИ И ПРИМЕРЫ РАСПРОСТРАНЯЮТСЯ ПОД ЛИЦЕНЗИЕЙ BSD


Оглавление




Основные полезности:


  • Основная информация о системе Основной сайт Master FTP
  • Разрабатывается Калифорнийским Университетом Беркли, на основе системы BSD4.4-Lite под лицензией BSD
  • Портированна на архитектуры: x86-совместимые, DEC Alpha, AMD64, AI64, PC-98, UltraSPARC(r), а так же некоторые другие
  • Текущие разрабатываемые ветки FreeBSD 4.x (4.10) и 5.x (5.2.1, готовится к выходу 5.3)
  • Тип FreeBSD'шного elf'a - 9, программная совместимость с Linux(3), Solaris(6), SVR(0),
  • Хорошо разработанная система портов и пакетов (поставляется в дистрибутиве)
  • Разработка ведется при активном использовании системы CVS, можно легко закачать свежую версию системы и портов по CVS

История проекта FreeBSD достаточно хорошо приведена в "FreeBSD Handbook" (а так же в большом колличестве источников в интернете), поэтому я не буду тратить как свое, так и Ваше время на тему истории возникновения, создания и развития проекта


BSD-лицензия


The following is a BSD license template. To generate your own license, change the values of OWNER, ORGANIZATION and YEAR from their original values as given here, and substitute your own.

Note: The advertising clause in the license appearing on BSD Unix files was officially rescinded by the Director of the Office of Technology Licensing of the University of California on July 22 1999. He states that clause 3 is "hereby deleted in its entirety."
Note the new BSD license is thus equivalent to the MIT License, except for the no-endorsement final clause.

= Regents of the University of California
= University of California, Berkeley
= 1998

In the original BSD license, both occurrences of the phrase "COPYRIGHT HOLDERS AND CONTRIBUTORS" in the disclaimer read "REGENTS AND CONTRIBUTORS".

Here is the license template:

Copyright (c) ,
All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
Neither the name of the nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Перевод этой лицензии на русский язык.


Структурная организация разработки системы FreeBSD


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

User Community
Committers
CORE
Где:
  • User Community - Более 75% изменений, вносящихся в систему. В основном, предлагают патчи (исправления) к существующему коду
  • Committers - люди, имеющие право вносить изменения в дерево исходников
  • CORE - (core@freebsd.org) - устанавливают административные права, выбираются из Committers


Ветки. -STABLE & -CURRENT


Так как понятие "FreeBSD" включает в себя ПОЛНУЮ систему, то вполне естественным было бы хранить в одном месте ядро, утилиты и библиотеки. Те, кто не знакомы с CVS, могут ознакомиться с ней (см. ссылки ниже) Откуда появились 2 ветки:
Stable - стабильная система, к ней выпускаются патчи и дополнения, но в нее уже не добавляются новые драйвера, не меняется архитектура и файлы системы в целом, например.
В ветку CURRENT, же могут вносится коррективы в изменения

Вполне логичен вопрос, а где CURRENT и STABLE, когда есть только "RELENG_?.*" и "HEAD" ?
Releng - Это стабильная система, на которую наложены только исправления безопасности и другие критические исправления.
HEAD - Это символическое имя для основной ветви разработки, FreeBSD-CURRENT. Используется по умолчанию, если тег не указан. В системе CVSup - этот тег представляется символом ``.''


Система портов и пакетов


Для удобства в систему FreeBSD была введена система портов. Она представляет собой дерево, состоящие из следующих категорий файлов:

Makefileте файлы, которые распознаются утилитой Make (это не GNU Make), для автоматической компиляции. Она содержит инструкции, необходимые для правильной компиляции программы, зависимости, конфликты, версию. С помощью этих файлов можно скачать пакет, его установить и зарегестрировать в системе, удалить пакет и еще много чего. Для более подробных сведений, просьба почитать Makefile или "FreeBSD Handbook"
pkg-descrкраткое описание пакета. Обязательно содержит помимо описания, домашнюю страницу продукта, e-mail-адрес maintain'ера пакета (человека, ответственного за поддержание пакета, его обновление и пр.)
pkg-ptdstфайлы, устанавливаемые пакетом
distinfoхэши(обычно, MD5) и размеры всех файлов для проверки целостности
каталог filesсодержит различные патчи к продукту
каталог work(при компиляции)рабочий каталог, в котором лежат исходные коды, компиллируемая программа и пр.

Да, естественно, компиллировать у себя - проблема еще та: не у всех стоят дома или на работе двухголовые монстры (двухпроцессорные материнские платы), где время сборки стремится к нулю, поэтому разработчики FreeBSD хранят у себя прекомпилированные (не все, см. ниже) на GENERIC-ядре пакеты, что существенно ускоряет установку.
При установки некоторых пакетов, необходимо согласиться с лицензионным соглашением, поэтому Вы все равно будете вынужденны их собирать у себя на машине.


Основные отличия от Linux


Эта таблица из книги "The Complete FreeBSD" ип оказывает основные различия между Linux и FreeBSD.

FreeBSD - ОС, которая разрабатывается только одной командой разработчиков, существует только один дистрибутив FreeBSD.Линукс - это ядро, которое разрабатывается Линусом Торвальдсом. Всё, что не относится к ядру, является частью дистрибутива; дистрибутивов на данный момент существует огромное количество.
FreeBSD является устойчивой системой.Лишь некоторые дистрибутивы Linux подходят для ответственных задач.
Как результат централизованной разработки, установка FreeBSD является относительно ясной и лёгкой.Простота установки Linux зависит от дистрибутива. При переходе от одного дистрибутива к другому придётся заново изучать процедуру установки.
FreeBSD остаётся относительно неизвестной, так как её распространение было ограничено некоторое время из-за исков AT&T.Линукс никогда не испытывала неприятностей из-за судебных исков и долгое время оставалась единственной свободно распространяемой UNIX-like OS.
Как результат неизвестности FreeBSD, для неё доступно очень немного коммерческого ПО.Для Линукс становится доступно всё больше коммерческого ПО.
FreeBSD менее популярна, из-за этого для неё доступно меньше драйверов для последних плат и устройств.Для любого недавно появившегося устройства или платы сразу появляется драйвер под Linux.
Из-за недостатка коммерческого ПО и драйверов, под FreeBSD есть эмуляция Linux, в которой можно запускать любые программы для Linux (говорят, работает даже быстрее). Относительно легко портировать драйверы для Линукс под FreeBSD.Линукс, видимо, просто не нужна эмуляция FreeBSD, поэтому её и нет.
Поступления во FreeBSD рассматривает и допускает в систему основной состав разработчиков. Процесс обновления кода отслеживается и координируется намного тщательнее, чем в Linux. Для большинства пользователей это позитивное явление, поскольку они уверены в том, что код был протестирован специалистами на отсутствие проблем.Любой пользователь имеет возможность поместить свой код в Linux.
Есть обвинения в сторону FreeBSD, что их код обновляется не так часто.

И у той, и у другой ОС есть фанаты, которые завалят флеймом того, кто скажет, что есть что-то лучше их любимого Linux/FreeBSD


Полезные статьи и ссылки по теме:




Авторы


TjSoft Group
Версия для печати
Обсудить на форуме