FreeBSD

Материал из Википедии — свободной энциклопедии

Перейти к: навигация, поиск
Логотип FreeBSD
FreeBSD
Снимок терминала FreeBSD
Приветствие в терминале FreeBSD
Разработчик

The FreeBSD Project

Семейство ОС

BSD UNIX

Исходный код

Открытый

Последняя версия

7.2 — 4 мая 2009

Последняя тестовая версия

8.0-CURRENT —

Тип ядра

Монолитное ядро

Лицензия

BSD

Состояние

Актуальное

Веб-сайт

www.freebsd.org

FreeBSD — свободная UNIX-подобная операционная система, потомок AT&T Unix по линии BSD, созданной в университете Беркли. FreeBSD работает на PC-совместимых системах семейства x86, включая Microsoft Xbox, а также на DEC Alpha, Sun UltraSPARC, IA-64, AMD64, PowerPC, NEC PC-98, ARM. Готовится поддержка архитектуры MIPS.

FreeBSD разрабатывается как целостная операционная система. Исходный код ядра, драйверов устройств и базовых пользовательских программ (т. н. userland), таких как командные оболочки и т. п., содержится в одном дереве системы управления версиями (до 31 мая 2008 — CVS, сейчас — SVN). Это отличает FreeBSD от GNU/Linux — другой свободной UNIX-подобной операционной системы — в которой ядро разрабатывается одной группой разработчиков, а набор пользовательских программ — другими (например, проект GNU), а многочисленные группы собирают это всё в единое целое и выпускают в виде различных дистрибутивов GNU/Linux.

FreeBSD хорошо зарекомендовала себя как система для построения интранет- и интернет-серверов. Она предоставляет достаточно надёжные сетевые службы и эффективное управление памятью. FreeBSD широко представлена в списке веб-серверов с наибольшим временем непрерывной работы (согласно исследованию компании Netcraft).[1]

Помимо своей стабильности FreeBSD популярна и благодаря своей лицензии, которая существенно отличается от широкоизвестных лицензий GNU. Лицензия FreeBSD накладывает только небольшое количество ограничений и в кратком изложении звучит так "бери это и делай все что хочешь".

Содержание

[править] История

Разработка FreeBSD началась в 1993 году с быстрорастущего набора патчей пользователей системы 386BSD. Этот набор позже вырос и отделился от 386BSD в отдельную операционную систему, включив в себя код от Free Software Foundation. Первая официальная версия FreeBSD 1.0 вышла в декабре 1993 года. Walnut Creek CDROM согласилась распространять FreeBSD на компакт-диске и также предоставила для работы проекту отдельный компьютер с интернет-соединением. Затем, в мае 1994 года, последовал успешный выпуск FreeBSD 1.1.

Однако, из соображений законности использования исходных кодов BSD Net/2 в 386BSD, команда разработчиков FreeBSD переработала большую часть системы ко времени выпуска FreeBSD 2.0 в январе 1995 года, используя 4.4BSD-Lite. Руководство к FreeBSD содержит более подробную историческую информацию о происхождении системы.[2]

[править] Версии системы

На 4 мая 2009 года последний релиз FreeBSD имеет номер 7.2.[3]

[править] FreeBSD 4

4.0-RELEASE появилась в марте 2000 года и последняя версия 4.11 была выпущена в январе 2005 года. FreeBSD 4 была очень популярной у провайдеров интернет и хостингов во время первого «пузыря доткомов» и считалась одной из самых стабильных и высокопроизводительных систем класса Unix. До сих пор в интернете можно найти серверы с FreeBSD 4, которые обслуживают миллионы запросов изо дня в день[источник не указан 47 дней].

Одним из главных недостатков FreeBSD 4 считается плохая поддержка нескольких процессоров, особенно в режиме многопоточности.

FreeBSD 4 поставила своеобразный рекорд по продолжительности разработки одной ветки операционной системы — за пять лет были устранено большое количество ошибок и получена на редкость стабильная система.

В середине разработки FreeBSD 4 от нее отпочковался проект DragonFlyBSD, основатели которого положили своей целью серьезную оптимизацию ядра для высоконагруженных систем, в частности лучшую поддержку многопроцессорности (уменьшение времени, необходимого для переключения потоков и пр.).

[править] FreeBSD 5

Через 3 года разработки, в январе 2003 года, была выпущена долгожданная версия 5.0-RELEASE. Эта версия предоставляла расширенную поддержку многопроцессорности и многопоточности, а также поддержку платформ UltraSPARC и IA-64.

Наибольшие архитектурные изменения в FreeBSD 5 — это изменение механизма блокировки на нижнем уровне ядра, чтобы улучшить поддержку многопроцессорных SMP-систем. Это освободило большую часть ядра от так называемой «гигантской блокировки» (Giant lock). Теперь в ядре появилась возможность выполнять более одной задачи одновременно. Другим важным изменением была реализация «родной» поддержки многопоточности типа M:N под названием Kernel Scheduled Entities (KSE). Начиная с FreeBSD 5.3 эта реализация потоков была установлена по-умолчанию, пока не была заменена на релизацию модели 1:1 во FreeBSD 7.

В FreeBSD 5 была серьёзно изменена система блочного ввода-вывода посредством введения модульной структурной системы преобразования запросов ввода-вывода GEOM (внесённой Poul-Henning Kamp). GEOM даёт возможность создавать различную функциональность, такую как зеркалирование (mirroring) или шифрование (модули GBDE и GELI).

Версии 5.4 и 5.5 были признаны стабильными и высокопроизводительными, но более ранние версии не годились для использования в рабочих условиях.

[править] FreeBSD 6

FreeBSD 6.0 была выпущена 4 ноября 2005 года. 11 ноября 2008 года была выпущена версия 6.4. Эти версии являются продолжением оптимизации поддержки SMP и многопоточности вкупе с расширенной поддержкой стандарта 802.11, записью событий безопасности проекта TrustedBSD, серьезными улучшениями производительности сетевой подсистемы. Основное достижение этого релиза — исключение «гигантской блокировки» (Giant lock) из виртуальной файловой подсистемы (VFS), реализация дополнительной, более производительной поддержки многопоточности (libthr) с моделью 1:1, и добавление OpenBSM — первичного модуля безопасности, который был создан проектом TrustedBSD.

[править] FreeBSD 7

FreeBSD 7.0 выпущена 27 февраля 2008 года. 5 января 2009 года вышла версия 7.1. Новое в этой ветке включает в себя: оптимизированный сетевой протокол транспортного уровня SCTP, журналирование в файловой системе UFS2, экспериментальная адаптированная версия файловой системы ZFS (разработанной компанией Sun), компилятор GCC4.2, базовая поддержка платформы ARM, новый менеджер памяти jemalloc, оптимизированный для параллельных вычислений[4], и большие изменения и оптимизации подсистем работы с сетями, аудио-устройствами и SMP-системами.[5] Новая система показала значительные улучшения в скорости по сравнению с предыдущими версиями и системой Linux.[6]

4 мая 2009 года вышла версия 7.2. Нововведения в этой версии: поддержка семейства процессоров UltraSPARC III (Cheetah, sparc64); возможность назначения нескольких IPv4- и IPv6-адресов каждой клетке — виртуальной машине Jail; реализация техники Superpages, прозрачного объединения страниц памяти для приложений; увеличенное до 6 Гб адресное пространство ядра для 64-разрядных процессоров; включена поддержка множественных таблиц маршрутизации, в том числе для клеток; улучшена совместимость в работе 32-разрядных клеток в 64-разрядном окружении; из NetBSD портирован демон btpand с реализацией поддержки профилей Bluetooth Network Access Point (NAP), Group Ad-hoc Network (GN) и Personal Area Network User (PANU); добавлен новый драйвер sdhci с поддержкой PCI-SD хост-контроллеров (кард-ридеров); обновлен модуль ядра DRM (Direct Rendering Manager) в котором улучшена поддержка графических процессоров (GPU) AMD/ATI, XGI, Intel; обновлены драйверы сетевых и дисковых устройств. В скором времени ожидается разработка видеодрайвера NVIDIA для 64-разрядной архитектуры amd64. Окончательная адаптация файловой системы ZFS v.13 для этой ветки почти завершена.[7]

[править] FreeBSD 8

На январь 2009 года, FreeBSD 8.0 является разрабатываемой версией, так называемой текущей (CURRENT) ветвью разработки FreeBSD. FreeBSD 8.0 планируется к выпуску во 2 квартале 2009 года.

Версия 8.0 включает в себя большое количество новой функциональности, такой как:

  • Супер-страницы (superpages).
  • Система DTrace, взятая от Sun (на данный момент эта система уже включена и работает в версии 7.2).
  • Поддержка Xen DomU.
  • Виртуализация сетевой поддержки.
  • Улучшенная поддержка ZFS.
  • Новая подсистема USB.

[править] Модель разработки FreeBSD

Существует около 4000 разработчиков, которые работают над системой на добровольной основе. Все они могут читать дерево репозитория, но не могут вносить изменения. Вместо этого разработчик обращается к коммитеру, который имеет право вносить изменение в код. Существует около 400 коммитеров. Разработчик может вырасти по социальной лестнице проекта и стать коммитером. Кандидатуру нового коммитера предлагает к рассмотрению ментор будущего коммитера. В зависимости от основной области деятельности, новый коммитер утверждается основной командой, portmgr@ или docmgr@. Основная команда является административным ядром проекта и состоит из 9 человек, которые выбираются на 2 года коммитерами из коммитеров. Основная команда решает конфликты между коммитерами.[8]

Участники проекта разрабатывают ветку CURRENT («текущая» версия) и несколько STABLE («стабильная», стабильность означает гарантию неизменности интерфейсов, как то API, ABI и так далее).

Новый код помещают в ветку CURRENT, где он получает более широкое тестирование. Новые функции, добавленные в CURRENT, могут остаться в системе или от них могут отказаться, если реализация окажется неудачной. Иногда эта версия может оказаться в непригодном для использования состоянии. С началом использования perforce как вспомогательного репозитория, и с выделением projects/ области в svn, проект стремится гарантировать постоянную работоспособность CURRENT.

STABLE-версия содержит только те нововведения, которые прошли проверку в CURRENT. Тем не менее, эта версия тоже предназначена, в основном, для разработчиков. Не рекомендуется обновлять ответственные рабочие серверы до STABLE, предварительно её не протестировав. На основе STABLE регулярно создаются тщательно протестированные разработчиками, группой release-инженеров и более широким кругом пользователей RELEASE-версии.

После выпуска релизов создаются дополнительные ветви разработки для поддержки релизов, но в них вносятся лишь самые необходимые изменения, исправляющие серьёзные ошибки или проблемы с безопасностью системы. До четвёртой версии FreeBSD у стабильной и текущей веток был один и тот же старший номер версии. Затем текущей ветви был присвоен номер 5, а у стабильной остался номер 4.

В настоящее время стабильная версия имеет номер 7, а текущая — 8. Группа разработчиков, исправляющих проблемы безопасности системы (security officers) поддерживает ветвь 6-STABLE для тех пользователей, которые ещё не обновили FreeBSD до версии 7.

[править] Варианты установки

Операционная система FreeBSD может быть установлена с различных носителей, таких как:

[править] Порты и пакеты

Основная статья: FreeBSD Ports

Система портов FreeBSD обеспечивает механизм установки сторонних программ, распространяемых как в исходных кодах (обычный способ в мире UNIX), так и в исполняемом виде (для проектов с закрытым исходным кодом). Порт включает в себя файлы, необходимые для правильной компиляции, установки и работы приложения под FreeBSD. В настоящее время коллекция портов насчитывает свыше 20 тыс. приложений самого разного назначения.[9]

[править] Талисманы-логотипы

Основным талисманом системы является красный демонёнок, известный также как Beastie. Кроме него, талисманом также считается Devilette, девушка в красном костюме демона.

[править] Производные системы

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

  • DragonFly BSD — ответвление от FreeBSD 4.8, созданное как логическое продолжение 4-й ветви. Она включает систему потоковой обработки сообщений, похожую на ту, которая используется в системах с микроядром.
  • FreeSBIE — LiveCD-дистрибутив FreeBSD, похожий на дистрибутив GNU/Linux под названием Knoppix.
  • Frenzy — другой проект по созданию LiveCD на основе FreeBSD, ориентированный в первую очередь на русскоязычных системных администраторов.
  • TrueBSD — белорусский LiveDVD-дистрибутив на основе FreeBSD.
  • BSDeviant — ещё один LiveCD.
  • PicoBSD — версия FreeBSD на одной дискете.
  • MiniBSD — компактный дистрибутив FreeBSD.
  • NanoBSD — еще один компактный дистрибутив FreeBSD.
  • Debian GNU/kFreeBSD — производная версия, базирующаяся на наборе инструментов GNU, разрабатывается группой пользователей Debian.
  • Darwin — ядро Mac OS X, многие команды взяты от FreeBSD 4/5, разрабатывается компанией Apple, весьма дальний родственник FreeBSD, ибо использует ядро Mach.
  • m0n0wall — встраиваемый межсетевой экран, основанный на FreeBSD.
  • pfSense — ответвление от проекта m0n0wall, отличающееся большей функциональностью.
  • FreeNAS — основанное на m0n0wall сетевое хранилище NAS.
  • PC-BSD — дистрибутив с графическим инсталлятором и настольной средой KDE по умолчанию.
  • DesktopBSD — ещё один дистрибутив для домашнего использования.
  • РУС-BSD — цель РУС-BSD — предоставить пользователям стран ОДКБ (России, Белоруссии, Украины, Казахстана…) простую в установке и использовании, корректно локализованую настольную операционную систему, основанную на FreeBSD. Несмотря на схожесть с PC-BSD и использование той же системы установки приложений PBI, начиная с версии 7 РУС-BSD делается не на основе PC-BSD, а на основе Frenzy, PC-BSD и своих разработок.

[править] Команды

Горячие клавиши:[11]

  •   Ctrl  +  R  — подсказывает по набранным символам команды, с которых начинаются их названия

[править] Примечания

[править] См. также

[править] Ссылки

Портал:Свободное программное обеспечение
В Википедии есть портал
«Свободное программное обеспечение»

[править] Литература

Источник — «http://ru.wikipedia.org/wiki/FreeBSD»