Основні відмінності від Linux

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

3. Вітки. -STABLE & -CURRENT

 

Лекція СТИСЛО описує систему FREEBSD, оскільки основне завдання циклу полягає в програмуванні цієї операційної системи, а не в її описі і відмінності від інших систем. Проте, я вважаю, що ця стаття необхідна як ввідна, оскільки розповідає про основні положення, що стосуються цієї ОС і далі розглядатися не будуть.

 

 

Основні корисності:

  • Основна інформація про систему Основной сайт 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" (а так само у великому колличестве джерел в інтернеті), тому я не витрачатиму як своє, так і Ваш час на тему історії виникнення, створення і розвитку проекту

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

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

User Community

Committers

CORE

 

Де:

1. User Community - Більше 75% змін, що вносяться до системи. В основному, пропонують патчи (виправлення) до існуючого коду

2. Committers - люди, що мають право вносити зміни в дерево исходников

3. 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, що їх код оновлюється не так часто