FreeBSD

редактировать

FreeBSD
Freebsd logo.svg
VirtualBox FreeBSD 12.1 07 05 2020 11 59 43.png Загрузчик FreeBSD 12.1 с логотипом ASCII art
Разработчик Проект FreeBSD
Семейство ОС Unix-подобный
Рабочее состояние Текущий
Исходная модель Открытый исходный код
Первый выпуск 1 ноября 1993 г ​​. ; 27 лет назад ( 1993-11-01)
Последний релиз 13,0 (13 апреля 2021 г. ; 6 месяцев назад) [±] 12,2 (27 октября 2020 г. ; 11 месяцев назад) [±]  ( 2021-04-13)  ( 2020-10-27)
Последний предварительный просмотр 13.0-RC4 (29 марта 2021 г. ; 6 месяцев назад) [±]  ( 2021-03-29)
Репозиторий
Маркетинговая цель Серверы, рабочие станции, встроенные системы, сетевые брандмауэры
Менеджер пакетов упак.
Платформы x86-64, ARM64, ARM32, IA-32, MIPS, PowerPC, RISC-V, 64-разрядный SPARC
Тип ядра Монолитное ядро
Userland BSD
Пользовательский интерфейс по умолчанию Оболочка Unix
Лицензия FreeBSD License, FreeBSD Documentation License
Официальный веб-сайт www.freebsd.org

FreeBSD - это бесплатная Unix-подобная операционная система с открытым исходным кодом, происходящая от Berkeley Software Distribution (BSD), основанной на Research Unix. Первая версия FreeBSD была выпущена в 1993 году. В 2005 году FreeBSD была самой популярной операционной системой BSD с открытым исходным кодом, на которую приходилось более трех четвертей всех установленных просто, лицензированных систем BSD.

FreeBSD имеет сходство с Linux, с двумя основными различиями в области применения и лицензировании: FreeBSD поддерживает полную систему, то есть проект предоставляет ядро, драйверы устройств, утилиты пользовательского пространства и документацию, в отличие от Linux, поставляющего только ядро ​​и драйверы и полагаясь на него. на сторонние для системного ПО; а исходный код FreeBSD обычно выпускается под разрешающей лицензией BSD, в отличие от GPL с авторским левом, используемой Linux.

Проект FreeBSD включает группу безопасности, контролирующую все программное обеспечение, поставляемое в базовом дистрибутиве. Широкий спектр дополнительных сторонних приложений может быть установлен из двоичных пакетов с использованием системы управления пакетами pkg или из исходного кода через порты FreeBSD, или путем ручной компиляции исходного кода.

Большая часть кодовой базы FreeBSD стала неотъемлемой частью других операционных систем, таких как Darwin (основа для macOS, iOS, iPadOS, watchOS и tvOS ), TrueNAS ( операционная система NAS / SAN с открытым исходным кодом) и системное программное обеспечение для на PlayStation 3 и PlayStation 4 игровых консолей.

СОДЕРЖАНИЕ

  • 1 История
    • 1.1 Предпосылки
    • 1.2 Рождение FreeBSD
    • 1.3 Иск
  • 2 Особенности
    • 2.1 Сценарии использования
    • 2.2 Сеть
    • 2.3 Хранение
    • 2.4 Безопасность
    • 2.5 Портативность
    • 2.6 Совместимость оборудования
    • 2.7 Стороннее программное обеспечение
    • 2.8 Тюрьмы
    • 2.9 Виртуализация
    • 2.10 Уровни совместимости ОС
    • 2.11 Ядро
    • 2.12 Документация и поддержка
    • 2.13 Установщики
    • 2.14 Оболочка
  • 3 Развитие
    • 3.1 Структура управления
    • 3.2 Филиалы
    • 3.3 Фундамент
  • 4 Лицензия
  • 5 Логотип
  • 6 Производные
  • 7 История версий
  • 8 См. Также
  • 9 ссылки
    • 9.1 Цитаты
    • 9.2 Источники
  • 10 Внешние ссылки

История

Основная статья: История версий FreeBSD

Фон

В 1974 году профессор Боб Фабри из Калифорнийского университета в Беркли приобрел лицензию на исходный код Unix у ATamp;T. При финансовой поддержке DARPA группа Computer Systems Research Group начала модифицировать и улучшать ATamp;T Research Unix. Они назвали эту модифицированную версию «Berkeley Unix» или « Berkeley Software Distribution » (BSD), в которой реализованы такие функции, как TCP / IP, виртуальная память и быстрая файловая система Berkeley. Проект BSD был основан в 1976 году Биллом Джоем. Но поскольку BSD содержал код от ATamp;T Unix, все получатели должны были сначала получить лицензию от ATamp;T, чтобы использовать BSD.

В июне 1989 года была выпущена "Networking Release 1" или просто Net-1 - первая общедоступная версия BSD. После выпуска Net-1 Кейт Бостик, разработчик BSD, предложил заменить весь код ATamp;T свободно распространяемым кодом под исходной лицензией BSD. Началась работа по замене кода ATamp;T, и через 18 месяцев большая часть кода ATamp;T была заменена. Однако в ядре осталось шесть файлов, содержащих код ATamp;T. Разработчики BSD решили выпустить "Networking Release 2" (Net-2) без этих шести файлов. Net-2 был выпущен в 1991 году.

Рождение FreeBSD

В 1992 году, через несколько месяцев после выпуска Net-2, Уильям и Линн Джолитц написали замены для шести файлов ATamp;T, перенесли BSD на микропроцессоры на базе Intel 80386 и назвали свою новую операционную систему 386BSD. Они выпустили 386BSD через анонимный FTP-сервер. Процесс разработки 386BSD был медленным, и после периода забвения группа пользователей 386BSD решила самостоятельно разветвляться, чтобы поддерживать операционную систему в актуальном состоянии. 19 июня 1993 года для проекта было выбрано название FreeBSD. Первая версия FreeBSD была выпущена в ноябре 1993 года.

В первые дни создания проекта компания Walnut Creek CDROM по предложению двух разработчиков FreeBSD согласилась выпустить операционную систему на CD-ROM. В дополнение к этому, компания использовала Jordan Hubbard и Дэвид Гринмэн, побежал FreeBSD на своих серверах, авторами FreeBSD конференций и опубликованных FreeBSD-связанных книг, в том числе The Complete FreeBSD по Greg Lehey. К 1997 году FreeBSD была «самым успешным продуктом Walnut Creek». Позже компания переименовалась в The FreeBSD Mall, а затем в iXsystems.

Сегодня FreeBSD используется многими ИТ-компаниями, такими как IBM, Nokia, Juniper Networks и NetApp, для создания своих продуктов. Некоторые части Apple, «s Mac OS X операционной системы основаны на FreeBSD. PlayStation 3, операционная система также заимствует определенные компоненты из FreeBSD, в то время как PlayStation 4 операционная система является производным от FreeBSD 9. Netflix, WhatsApp и FlightAware также являются примерами крупных, успешных и в значительной степени ориентированные на сетевых компаний, работающих под управлением FreeBSD.

Иск

386BSD и FreeBSD были производными от выпусков BSD. В январе 1992 года Berkeley Software Design Inc. (BSDi) начала выпускать BSD / 386, позже названную BSD / OS, операционную систему, аналогичную FreeBSD и основанную на 4.3BSD Net / 2. ATamp;T подала иск против BSDi и заявила о распространении исходного кода ATamp;T в нарушение лицензионных соглашений. Иск был урегулирован во внесудебном порядке, и не все точные условия были оглашены. Единственное, что стало достоянием общественности, это то, что BSDi перенесет свою базу исходных текстов на более новые исходные коды 4.4BSD-Lite2. Хотя они и не участвовали в судебном разбирательстве, FreeBSD было предложено также перейти на 4.4BSD-Lite2. FreeBSD 2.0, выпущенная в ноябре 1994 года, была первой версией FreeBSD без кода от ATamp;T.

Функции

Запуск FreeBSD 9.1 с приглашением входа в консоль

Случаи применения

FreeBSD содержит значительный набор серверного программного обеспечения в базовой системе и коллекцию портов, что позволяет настраивать FreeBSD и использовать ее в качестве почтового сервера, веб-сервера, межсетевого экрана, FTP-сервера, DNS-сервера и маршрутизатора, а также других приложений.

FreeBSD можно установить на обычный настольный компьютер или ноутбук. Система X Window не устанавливается по умолчанию, но доступна в коллекции портов FreeBSD. Wayland (протокол сервера отображения) также доступен для FreeBSD (неофициально поддерживается). Для FreeBSD также доступен ряд окружений рабочего стола, таких как GNOME, KDE и Xfce, а также облегченные оконные менеджеры, такие как Openbox, Fluxbox, dwm и bspwm. Начиная с FreeBSD 12, поддержка современного графического стека доступна через drm-kmod. Поддерживается большое количество беспроводных адаптеров.

FreeBSD выпускает установочные образы для поддерживаемых платформ. Начиная с FreeBSD 13, основное внимание уделялось платформам x86-64 и aarch64, которые имеют поддержку уровня 1. x86-32 - это платформа уровня 1 в FreeBSD 12, но это платформа уровня 2 в FreeBSD 13. 32-разрядные процессоры ARM, использующие armv6 или armv7, также имеют поддержку уровня 2. Также поддерживаются 64-битные версии PowerPC и RISC-V. Интерес к архитектуре RISC-V растет. Архитектуры MIPS порт был отмечен для устаревания и нет изображений для любой поддерживаемых в данный момент версии. FreeBSD 12 поддерживает SPARC, но для FreeBSD 13 нет образа.

Сети

Стек TCP / IP FreeBSD основан на реализации TCP / IP 4.2BSD, которая внесла большой вклад в широкое распространение этих протоколов. FreeBSD также поддерживает IPv6, SCTP, IPSec и беспроводные сети ( Wi-Fi ). Стеки IPv6 и IPSec были взяты из проекта KAME. До версии 11.0 FreeBSD поддерживала протоколы IPX и AppleTalk, но они считаются старыми и сейчас от них отказались.

Начиная с FreeBSD 5.4, поддержка Common Address Redundancy Protocol (CARP) была импортирована из проекта OpenBSD. CARP позволяет нескольким узлам совместно использовать набор IP-адресов, поэтому, если один из узлов выходит из строя, другие узлы по-прежнему могут обслуживать запросы.

Место хранения

FreeBSD имеет несколько уникальных функций, связанных с хранением. Мягкие обновления могут защитить целостность файловой системы UFS (широко используемой в BSD) в случае сбоя системы. Моментальные снимки файловой системы позволяют эффективно создавать образ файловой системы UFS в определенный момент времени. Снимки обеспечивают надежное резервное копирование файловой системы в реальном времени. GEOM является модульной основой, которая обеспечивает RAID (уровни 0, 1, 3 в настоящее время), полное шифрование диска, журнальный, конкатенация, кэширование, а также доступ к сети спинок хранения. GEOM позволяет строить сложные решения для хранения, объединяющие («сцепляющие») эти механизмы. FreeBSD предоставляет две структуры для шифрования данных: GBDE и Geli. И GBDE, и Geli работают на уровне дисков. GBDE был написан Полом-Хеннингом Кампом и распространяется по лицензии BSD, состоящей из двух пунктов. Geli - это альтернатива GBDE, написанная Павлом Якубом Давидеком и впервые появившаяся во FreeBSD 6.0.

Начиная с версии 7.0, FreeBSD поддерживает файловую систему ZFS. ZFS ранее была файловой системой с открытым исходным кодом, которая была впервые разработана Sun Microsystems, но когда Oracle приобрела Sun, ZFS стала проприетарным продуктом. Однако проект FreeBSD все еще развивается и совершенствует свою реализацию ZFS с помощью проекта OpenZFS.

Безопасность

FreeBSD предоставляет несколько функций, связанных с безопасностью, включая списки контроля доступа (ACL), аудит событий безопасности, расширенные атрибуты файловой системы, обязательный контроль доступа (MAC) и детальные возможности. Эти улучшения безопасности были разработаны проектом TrustedBSD. Проект был основан Робертом Уотсоном с целью реализации концепций Общих критериев оценки безопасности информационных технологий и Оранжевой книги. Этот проект продолжается, и многие его расширения интегрированы во FreeBSD. Проект поддерживается множеством организаций, включая DARPA, NSA, Network Associates Laboratories, Safeport Network Services, Пенсильванский университет, Yahoo !, McAfee Research, SPARTA, Apple Computer, nCircle Network Security, Google, Кембриджский университет. Компьютерная лаборатория и другие.

Проект также портировали АНБ «s ФЛЯГА реализации / TE от SELinux для FreeBSD. Другая работа включает разработку OpenBSM, реализации с открытым исходным кодом API базового модуля безопасности (BSM) Sun и формата файла журнала аудита, который поддерживает обширную систему аудита безопасности. Он был доставлен как часть FreeBSD 6.2. Другая инфраструктурная работа во FreeBSD, выполняемая в рамках проекта TrustedBSD, включала GEOM и OpenPAM.

Большинство компонентов проекта TrustedBSD в конечном итоге превращаются в основные исходные коды FreeBSD. Кроме того, многие функции, когда они полностью сформированы, находят свое применение в других операционных системах. Например, OpenPAM был принят в NetBSD. Более того, Apple для macOS адаптировала TrustedBSD MAC Framework.

FreeBSD поставляется с тремя различными пакетами межсетевого экрана: IPFW, pf и IPFilter. IPFW - это собственный брандмауэр FreeBSD. pf был взят из OpenBSD, а IPFilter был перенесен на FreeBSD Дарреном Ридом.

Программа OpenSSH, взятая из OpenBSD, была включена в установку по умолчанию. OpenSSH - это бесплатная реализация протокола SSH, заменяющая telnet. В отличие от telnet, OpenSSH шифрует всю информацию (включая имена пользователей и пароли).

В ноябре 2012 года группа безопасности FreeBSD объявила, что хакеры получили несанкционированный доступ к двум серверам проекта. Эти серверы были немедленно отключены. Дополнительные исследования показали, что первый несанкционированный доступ хакеров произошел 19 сентября. Очевидно, хакеры получили доступ к этим серверам, украв ключи SSH у одного из разработчиков, а не воспользовавшись ошибкой в ​​самой операционной системе. Эти два взломанных сервера были частью инфраструктуры, используемой для создания сторонних программных пакетов. Группа безопасности FreeBSD проверила целостность бинарных пакетов и объявила, что в бинарные пакеты не было внесено никаких несанкционированных изменений, но заявила, что они не могут гарантировать целостность пакетов, которые были загружены в период с 19 сентября по 11 ноября.

Портативность

FreeBSD была перенесена на множество архитектур с набором команд. Проект FreeBSD разбивает архитектуры на уровни, которые характеризуют уровень предоставляемой поддержки. Архитектуры уровня 1 являются зрелыми и полностью поддерживаются, например, это единственный уровень, «поддерживаемый сотрудником безопасности». Архитектуры уровня 3 являются экспериментальными или более не находятся в стадии активной разработки, а архитектуры уровня 4 вообще не поддерживаются.

По состоянию на март 2021 года FreeBSD была перенесена на следующие архитектуры:

Архитектура Уровень поддержки Примечания
x86-64 1-й уровень именуется "amd64"
x86 (IA-32) Уровень 1 (уровень 2 в 13.x) именуется "i386"
64-битная ARM 1-й уровень
32-битная ARM 2 уровень
MIPS 2 уровень
32-битный и 64-битный PowerPC 2 уровень
64-битный SPARC Уровень 2 (уровень 4 в 13.x) только 64-битная (V9) архитектура
64-битный RISC-V Уровень 3 (уровень 2 в 13.x) по состоянию на 12-РЕЛИЗ
NEC PC-9801 Уровень 4 (уровень 2 в 11.x) обозначается как "pc98", поддержка удалена в 12-CURRENT
IA-64 (был уровень 3) не поддерживается с 11.0
DEC Alpha (был уровень 4) поддержка прекращена в 7.0

Поддержка 32-битной ARM (включая OTG) и MIPS в основном нацелена на встроенные системы ( ARM64 также нацелена на серверы), однако FreeBSD / ARM работает на ряде одноплатных компьютеров, включая BeagleBone Black, Raspberry Pi и Wandboard..

Совместимость оборудования

Поддерживаемые устройства перечислены в Примечаниях к оборудованию FreeBSD 12.1-RELEASE. Документ описывает устройства, которые, как известно, в настоящее время поддерживаются FreeBSD. Другие конфигурации также могут работать, но они просто еще не тестировались. Примерные автоматически извлеченные списки поддерживаемых идентификаторов устройств доступны в стороннем репозитории.

В 2020 году был представлен новый проект по автоматическому сбору информации о протестированных конфигурациях оборудования.

Стороннее программное обеспечение

Дополнительная информация: Порты FreeBSD

FreeBSD имеет репозиторий программного обеспечения, содержащий более 30 000 приложений, разработанных третьими сторонами. Примеры включают: оконные системы, веб-браузеры, почтовые клиенты, офисные пакеты и т. Д. Как правило, сам проект не занимается разработкой этого программного обеспечения, а занимается только фреймворком, позволяющим устанавливать эти программы, который известен как коллекция портов. Приложения могут быть скомпилированы из исходного кода («порты»), если это позволяют условия их лицензирования, или загружены в виде предварительно скомпилированных двоичных файлов («пакеты»). Коллекция портов поддерживает текущую и стабильную ветки FreeBSD. Старые выпуски не поддерживаются и могут работать или могут некорректно работать с актуальной коллекцией портов.

Порты используют файлы Makefile для автоматической загрузки исходного кода нужного приложения из локального или удаленного репозитория, распаковки его в системе, применения к нему исправлений и компиляции. В зависимости от размера исходного кода компиляция может занять много времени, но она дает пользователю больше контроля над процессом и его результатом. У большинства портов также есть аналоги пакетов (т. Е. Предварительно скомпилированные двоичные файлы), что дает пользователю выбор. Хотя этот метод работает быстрее, у пользователя меньше возможностей для настройки.

FreeBSD версии 10.0 представила пакетный менеджер pkg как замену ранее использовавшимся пакетным инструментам. Функционально он похож на apt и yum в дистрибутивах Linux. Он позволяет устанавливать, обновлять и удалять как порты, так и пакеты. Помимо pkg, PackageKit также может использоваться для доступа к коллекции портов.

Тюрьмы

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

Впервые представленные в FreeBSD версии 4, тюрьмы - это механизм безопасности и реализация виртуализации на уровне операционной системы, которая позволяет пользователю запускать несколько экземпляров гостевой операционной системы поверх хоста FreeBSD. Это усовершенствованная версия традиционного механизма chroot. Процесс, работающий в такой тюрьме, не может получить доступ к ресурсам за ее пределами. У каждой тюрьмы есть собственное имя хоста и IP-адрес. Одновременно можно запускать несколько jail-ов, но ядро ​​является общим для всех. Следовательно, внутри тюрьмы можно запускать только программное обеспечение, поддерживаемое ядром FreeBSD.

Виртуализация

Основная статья: бхиве

bhyve, новое решение для виртуализации, было представлено во FreeBSD 10.0. bhyve позволяет пользователю одновременно запускать несколько гостевых операционных систем (FreeBSD, OpenBSD, Linux и Microsoft Windows ). Планируются и другие операционные системы, такие как Illumos. bhyve был написан Нилом Нату и Питером Греханом и впервые был анонсирован на конференции BSDCan 2011 года. Основное различие между тюрьмами bhyve и FreeBSD заключается в том, что тюрьмы представляют собой виртуализацию на уровне операционной системы и поэтому ограничиваются только гостевыми приложениями FreeBSD; но bhyve - это гипервизор типа 2 и не ограничивается только гостевыми приложениями FreeBSD. Для сравнения, технология bhyve похожа на KVM, тогда как тюрьмы ближе к контейнерам LXC или зонам Solaris. Инстансы Amazon EC2 AMI также поддерживаются черезamazon-ssm-agent

Начиная с FreeBSD 11.0, поддерживается запуск в качестве привилегированного домена Dom0 для гипервизора Xen type 1. Поддержка работы как DomU (гостевая) доступна начиная с FreeBSD 8.0.

VirtualBox (без пакета расширений с закрытым исходным кодом) и QEMU доступны во FreeBSD.

Уровни совместимости ОС

Большая часть программного обеспечения, работающего в Linux, может работать во FreeBSD с использованием дополнительного встроенного уровня совместимости. Следовательно, большинство двоичных файлов Linux можно запускать на FreeBSD, включая некоторые проприетарные приложения, распространяемые только в двоичной форме. Этот уровень совместимости не является эмуляцией ; Интерфейс системных вызовов Linux реализован в ядре FreeBSD, и, следовательно, исполняемые образы и разделяемые библиотеки Linux обрабатываются так же, как собственные исполняемые образы и разделяемые библиотеки FreeBSD. Кроме того, FreeBSD предоставляет уровни совместимости для нескольких других Unix-подобных операционных систем, помимо Linux, таких как BSD / OS и SVR4, однако пользователи чаще компилируют эти программы непосредственно во FreeBSD.

При запуске двоичных файлов Linux не было замечено заметного снижения производительности по сравнению с собственными программами FreeBSD, а в некоторых случаях они могут работать даже более плавно, чем в Linux. Однако этот уровень не является полностью бесшовным, и некоторые двоичные файлы Linux непригодны или могут использоваться только частично во FreeBSD. Системные вызовы поддерживаются до версии 2.6.18, доступной начиная с FreeBSD 7.0. Начиная с версии 10.3, FreeBSD может запускать 64-битные двоичные файлы Linux.

FreeBSD реализовала ряд собственных интерфейсов ядра NDIS для Microsoft Windows, чтобы позволить FreeBSD запускать (в противном случае) сетевые драйверы только для Windows.

Уровень совместимости Wine, который позволяет запускать многие приложения Windows, особенно игры, без (лицензионной) копии Microsoft Windows, доступен для FreeBSD.

Ядро

Ядро FreeBSD обеспечивает поддержку некоторых важных задач, таких как управление процессами, обмен данными, загрузка и файловые системы. FreeBSD имеет монолитное ядро с модульной конструкцией. Различные части ядра, такие как драйверы, спроектированы как модули. Пользователь может загружать и выгружать эти модули в любое время. ULE - это планировщик по умолчанию во FreeBSD, начиная с версии 7.1, он поддерживает SMP и SMT. Ядро FreeBSD также имеет масштабируемый интерфейс уведомления о событиях, называемый kqueue. Он был перенесен на другие производные от BSD, такие как OpenBSD и NetBSD. Ядро резьба была введена в FreeBSD 5.0, с использованием М: модели N потоковой. Эта модель хорошо работает в теории, но ее сложно реализовать, и немногие операционные системы ее поддерживают. Хотя реализация этой модели во FreeBSD работала, она не работала хорошо, поэтому начиная с версии 7.0 FreeBSD начала использовать модель потоковой передачи 1: 1, называемую libthr.

Документация и поддержка

Документация FreeBSD состоит из справочников, страниц руководства, архивов списков рассылки, часто задаваемых вопросов и множества статей, которые в основном поддерживаются проектом документации FreeBSD. Документация FreeBSD переведена на несколько языков. Вся официальная документация выпущена под лицензией FreeBSD Documentation License, «разрешающей лицензией свободной документации без авторского лева, совместимой с GNU FDL». Документация FreeBSD описывается как «высококачественная».

Проект FreeBSD поддерживает множество списков рассылки. Среди наиболее популярных списков рассылки FreeBSD-questions (общие вопросы) и FreeBSD-hackers (место, где можно задать дополнительные технические вопросы).

С 2004 года база данных группы пользователей BSD г. Нью-Йорка предоставляет информацию dmesg из набора компьютеров ( ноутбуков, рабочих станций, одноплатных компьютеров, встроенных систем, виртуальных машин и т. Д.), На которых работает FreeBSD.

Установщики

Начиная с версии 2.0 до 8.4, FreeBSD использовала программу sysinstall в качестве основного установщика. Она была написана на C от Jordan Hubbard. Он использует текстовый пользовательский интерфейс и разделен на несколько меню и экранов, которые можно использовать для настройки и управления процессом установки. Его также можно использовать для установки портов и пакетов в качестве альтернативы интерфейсу командной строки.

Утилита sysinstall теперь считается устаревшей в пользу bsdinstall, нового установщика, представленного в FreeBSD 9.0. bsdinstall - это «облегченная замена sysinstall», написанная на sh. Согласно OSNews, «он потерял некоторые функции, но получил другие, но это гораздо более гибкий дизайн, и в конечном итоге он будет значительно улучшен».

Оболочка

Оболочка FreeBSD по умолчанию - это оболочка tcsh для root и оболочка Almquist (sh) для обычных пользователей. Оболочкой сценариев по умолчанию является оболочка Almquist.

Разработка

FreeBSD разрабатывается командой добровольцев по всему миру. Разработчики используют Интернет для общения, и многие никогда не встречались лично. Помимо местных групп пользователей, спонсируемых и посещаемых пользователями, USENIX проводит ежегодную конференцию под названием BSDcon. BSDcon не является специфическим для FreeBSD, поэтому он занимается техническими аспектами всех операционных систем, производных от BSD, включая OpenBSD и NetBSD. Помимо BSDcon, в Европе, Японии и Канаде, соответственно, проходят еще три ежегодные конференции: EuroBSDCon, AsiaBSDCon и BSDCan.

Структура управления

Основная статья: Основная группа FreeBSD

Над проектом FreeBSD работают около 500 коммиттеров или разработчиков, которые имеют доступ к основным репозиториям исходного кода и могут разрабатывать, отлаживать или улучшать любую часть системы. Большинство разработчиков - добровольцы, и лишь немногим разработчикам платят некоторые компании. Существует несколько типов коммиттеров, включая коммиттеры исходного кода (базовая операционная система), коммиттеры документов (авторы документации и веб-сайтов) и порты (перенос сторонних приложений и инфраструктура). Каждые два года коммиттеры FreeBSD выбирают основную группу FreeBSD из 9 человек, которая отвечает за общее направление проекта, установку и обеспечение соблюдения правил проекта и утверждение новых коммиттеров или предоставление доступа к коммитам SVN. Ряд обязанностей официально возложен на другие группы разработчиков основной группой FreeBSD, например, ответственность за управление коллекцией портов делегируется группе управления портами.

Помимо разработчиков, у FreeBSD есть тысячи «участников». Участники также являются добровольцами вне проекта FreeBSD, которые отправляют исправления на рассмотрение коммиттеров, поскольку у них нет прямого доступа к репозиторию исходного кода FreeBSD. Затем коммиттеры оценивают предложения участников и решают, что принять, а что отклонить. Участника, который отправляет высококачественные исправления, часто просят стать коммитером.

ветви

Разработчики FreeBSD поддерживают как минимум две ветви одновременной разработки. -CURRENT ветвь всегда представляет собой « кровоточащий край » развития FreeBSD. -STABLE ветвь FreeBSD создаются для каждого основного номера версии, из которой -РЕЛИЗ разрежет примерно раз в 4-6 месяцев. Если функция достаточно стабильна и развита, она, скорее всего, будет перенесена ( MFC или Merge from CURRENT на сленге разработчиков FreeBSD) в ветвь -STABLE.

Фонд

«На прошлой неделе я пожертвовал один миллион долларов Фонду FreeBSD, который поддерживает операционную систему с открытым исходным кодом, которая помогла миллионам программистов реализовать свои увлечения и воплотить свои идеи в жизнь. На самом деле я один из тех людей. Я начал использовать FreeBSD в конце 90-х, когда у меня не было много денег и я жил в государственном жилье. В каком-то смысле FreeBSD помогла мне выбраться из бедности - одна из основных причин, по которой я устроился на работу в Yahoo!, - это то, что они использовали FreeBSD, и это была моя операционная система. Годы спустя, когда мы с Брайаном приступили к созданию WhatsApp, мы использовали FreeBSD, чтобы наши серверы работали. Мы все еще используем. Я объявляю об этом пожертвовании, чтобы пролить свет на хорошее. работа, проводимая FreeBSD Foundation, с надеждой, что другие также помогут продвинуть этот проект вперед. Мы все выиграем, если FreeBSD сможет и дальше предоставлять людям те же возможности, которые дала мне, - если она сможет вывести больше детей иммигрантов из бедности, и помочь большему количеству стартапов создать что-то успешное ul, и даже преобразующий ".

Ян Кум

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

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

В ноябре 2014 года FreeBSD Foundation получил пожертвование в размере 1 миллиона долларов США от Яна Кума, соучредителя и генерального директора WhatsApp, что  является крупнейшим разовым пожертвованием Фонду с момента его основания. В декабре 2016 года Ян Кум пожертвовал еще 500 тысяч долларов. Сам Ян Кум является пользователем FreeBSD с конца 1990-х годов, и WhatsApp использует FreeBSD на своих серверах.

Лицензия

FreeBSD выпускается под множеством лицензий с открытым исходным кодом. Код ядра и большая часть вновь созданного кода выпускаются под лицензией BSD с двумя пунктами, которая позволяет каждому использовать и распространять FreeBSD по своему усмотрению. Эта лицензия была одобрена Free Software Foundation и Open Source Initiative в качестве лицензии на бесплатное программное обеспечение и лицензию с открытым исходным кодом соответственно. Free Software Foundation описал эту лицензию как «слабую, разрешающую лицензию свободных программ без авторского лева, совместимую с GNU GPL». Есть части, выпущенные под лицензиями BSD с тремя и четырьмя пунктами, а также под лицензией Beerware. Некоторые драйверы устройств включают двоичный двоичный объект, например Atheros HAL версий FreeBSD до 7.2. Часть кода, предоставленного другими проектами, находится под лицензией GPL, LGPL, CDDL и ISC. Весь код под лицензией GPL и CDDL четко отделен от кода под либеральными лицензиями, чтобы пользователям, таким как производители встроенных устройств, было легко использовать только разрешительные лицензии на бесплатное программное обеспечение. ClangBSD стремится заменить некоторые зависимости GPL в базовой системе FreeBSD, заменяя коллекцию компиляторов GNU компилятором LLVM / Clang под лицензией BSD. ClangBSD стал самостоятельным хостингом 16 апреля 2010 года.

Логотип

В течение многих лет логотипом FreeBSD был общий BSD Daemon, также называемый Beastie, искаженное произношение BSD. Однако Beastie не была уникальной особенностью FreeBSD. Впервые появившись в 1976 году на футболках Unix, приобретенных Bell Labs, наиболее популярные версии демона BSD были нарисованы директором анимации Джоном Лассетером, начиная с 1984 года. Несколько версий для FreeBSD были позже нарисованы Тацуми Хосокавой.

С точки зрения литографии, графика Лассетера не является штриховым искусством и часто требует трафаретной четырехцветной офсетной печати фотографий для точного воспроизведения на физических поверхностях, таких как бумага. Кроме того, считалось, что демон BSD слишком графически детализирован для плавного масштабирования и эстетически чрезмерно зависит от нескольких цветовых градаций, что затрудняет надежное воспроизведение в виде простого стандартизованного логотипа всего в двух или трех цветах, а тем более в монохромном. Из-за этих опасений 8 октября 2005 г. был проведен конкурс, и 8 октября 2005 г. был выпущен новый логотип, разработанный Антоном К. Гуралом, который все еще повторяет демон BSD. Однако Роберт Уотсон объявил, что проект FreeBSD «ищет нового логотип, но не новый талисман »и что проект FreeBSD будет продолжать использовать Beastie в качестве талисмана.

Название «FreeBSD» было придумано Дэвидом Гринманом 19 июня 1993 года, другими предложенными именами были «BSDFree86» и «Free86BSD». Слоган FreeBSD «The Power to Serve» является товарным знаком FreeBSD Foundation.

Производные

Дополнительная информация: Список продуктов, основанных на FreeBSD. PC-BSD версии 10, операционная система, позже известная как TrueOS.

Существует ряд дистрибутивов программного обеспечения, основанных на FreeBSD. Известные производные включают:

Все эти дистрибутивы не имеют или имеют незначительные изменения по сравнению с исходной базовой системой FreeBSD. Основное отличие от оригинальной FreeBSD состоит в том, что они поставляются с предустановленным и предварительно настроенным программным обеспечением для конкретных случаев использования. Это можно сравнить с дистрибутивами Linux, которые все бинарно совместимы, потому что они используют одно и то же ядро, а также используют одни и те же базовые инструменты, компиляторы и библиотеки, но с разными приложениями, конфигурациями и торговыми марками.

Помимо этих дистрибутивов, есть несколько независимых операционных систем, основанных на FreeBSD. DragonFly BSD - это ответвление от FreeBSD 4.8, нацеленное на стратегию многопроцессорной синхронизации, отличную от выбранной для FreeBSD 5, и развитие некоторых функций микроядра. Он не стремится оставаться совместимым с FreeBSD и имеет огромные различия в ядре и базовом пользовательском пространстве. MidnightBSD - это форк FreeBSD 6.1, в значительной степени заимствованный у NeXTSTEP, особенно в области пользовательского интерфейса.

Darwin, ядро компании Apple «s MacOS, включает в себя виртуальную файловую систему и сетевой стек, полученный из тех, FreeBSD и компоненты его пользовательском пространстве также FreeBSD происхождения.

Вот некоторые службы подписки, основанные непосредственно на FreeBSD:

  • WhatsApp  - обрабатывает 2 миллиона одновременных TCP-соединений на сервер.

Встроенные устройства и операционные системы для встроенных устройств, основанные на FreeBSD, включают:

  • Можжевельник «s JUNOS маршрутизатор операционной системы.
  • EMC Isilon «s OneFS операционной системы.
  • NetApp Data ONTAP 8.x и замененный сейчас ONTAP GX (только в качестве загрузчика для проприетарного модуля пространства ядра).
  • Устройство Open Connect от Netflix для доставки контента.
  • PlayStation 4 ( " Orbis OS ")
  • Параллельная файловая система Panasas PanFS
  • pfSense, операционная система межсетевого экрана с открытым исходным кодом, маршрутизатора и устройства безопасности.

История версий

Основная статья: История версий FreeBSD
Легенда: Старая версия, не поддерживается Старая версия, все еще поддерживается Текущая стабильная версия Последняя предварительная версия Будущий выпуск
Версия Дата выхода Поддерживается до Существенные изменения
Старая версия, больше не поддерживается: 1.x Ноябрь 1993 г.
  • Первый официальный релиз.
  • Коллекция портов.
  • Исправлены некоторые нерешенные ошибки при импорте 386BSD.
  • Добавление некоторых портированных приложений ( XFree86, XView, InterViews, elm, nntp )
Старая версия, больше не поддерживается: 2.x 22 ноября 1994 г.
  • Кодовая база заменена на BSD-Lite 4.4 (для удовлетворения условий урегулирования иска USL против BSDi )
  • Новый установщик и новый менеджер загрузки
  • Поддержка загружаемых файловых систем для большего количества файловых систем (MS-DOS, unionfs, kernfs )
  • Импортированные загружаемые модули ядра из NetBSD
  • Заменен BSD malloc на phkmalloc
  • Полная эмуляция Linux с ELF
  • Формирование трафика Dummynet
Старая версия, больше не поддерживается: 3.x 16 октября 1998 г.
Старая версия, больше не поддерживается: 4.x 14 марта 2000 г. 31 января 2007 г.
  • Поддержка IPv6 и IPsec с KAME (приложения также были обновлены для поддержки IPv6)
  • OpenSSH интегрирован в базовую систему
  • Эмулятор для бинарных файлов SVR4
  • Добавлен новый jail(2)системный вызов и jail(8)команда администратора
  • Интерфейс уведомления о событиях Kqueue
  • Базовый Firewire
  • Базовая поддержка HyperThreading
  • Криптографическая структура внутри ядра, импортированная из OpenBSD
  • Поддержка USB2
  • Добавлены порты / ИЗМЕНЕНИЯ и порты / ОБНОВЛЕНИЕ портов FreeBSD.
Старая версия, больше не поддерживается: 5.x 14 января 2003 г. 31 мая 2008 г.
Старая версия, больше не поддерживается: 6.x 1 ноября 2005 г. 30 ноября 2010 г.
  • Поддержка счетчиков мониторинга производительности
  • Новый стек Wi-Fi
  • ГЕЛИ
  • Сетевой мост
  • Утилита NanoBSD
  • Поддержка драйверов NDIS
  • Мультиплексор клавиатуры
  • Стабильность файловой системы UFS
  • Автоконфигурация Bluetooth
  • Дополнительные драйверы Ethernet и RAID
  • Поддержка архитектуры Xbox
  • OpenBSM подсистема аудита
  • freebsd-update (бинарные обновления для исправлений безопасности и исправлений ошибок)
Старая версия, больше не поддерживается: 7.x 27 февраля 2008 г. 28 февраля 2013 г.
Старая версия, больше не поддерживается: 8.x 26 ноября 2009 г. 1 августа 2015 г.
  • Поддержка SATA NCQ
  • Поддержка гостей Xen
  • Хранилище высокой доступности
  • Встроенная поддержка ACL NFSv4
  • Поддержка USB 3.0
Старая версия, больше не поддерживается: 9.x 12 января 2012 г. 31 декабря 2016 г.
  • Механизм безопасности на основе возможностей Capsicum
  • UFS SoftUpdates + Журнал
  • ZFS обновлен до версии 28
  • bsdconfig, утилита настройки системы
  • bsdinstall, программа установки новой системы
  • RCTL, гибкий механизм ограничения ресурсов
  • GRAID, гибкая программная реализация RAID
  • драйверы virtio
  • pkgng
  • vt, новая реализация виртуального терминала
Старая версия, больше не поддерживается: 10.x 20 января 2014 г. 31 октября 2018 г.
  • Гипервизор BHyVe
  • Clang заменил GCC на поддерживаемых архитектурах
  • Новый стек iSCSI
  • Добавлена ​​поддержка Raspberry Pi.
  • Загрузка UEFI для amd64
  • Загрузка ZFS через UEFI
  • ZFS в корневой файловой системе
  • Повышение надежности и производительности ZFS
  • Реализация pkgнового менеджера пакетов FreeBSD, также называемого pkgng
  • Поддержка протокола UDP Lite (RFC 3828)
  • Поддержка SMP для armv6
  • Новое средство автомонтирования на основе autofs
  • Код DRM обновлен в соответствии с Linux 3.8.13, что позволяет работать с несколькими X-серверами одновременно.
  • Поддержка 64-битных двоичных файлов Linux через уровень совместимости
Старая версия, больше не поддерживается: 11.x 10 октября 2016 г. 30 сентября 2021 г.
  • Новая версия NetMap
  • Поддержка 64-битной архитектуры ARM
  • umount (8) -N новый флаг, который используется для принудительного размонтирования смонтированной файловой системы NFS
  • crontab -f добавлен новый флаг
  • В ZFS файловая система была обновлена для реализации параллельного монтажа.
  • Добавлена ​​утилита trim (8), которая удаляет контент для блоков на флэш-накопителях, использующих алгоритмы выравнивания износа.
Старая версия, но все еще поддерживается: 12.x 11 декабря 2018 г.
  • В ext2fs (5) файловая система была обновлена для поддержки полной поддержкой чтения / записи для ext4
  • FreeBSD изменила способ обработки графических драйверов на amd64 и i386. Графические драйверы для современных видеокарт ATI-AMD и Intel теперь доступны в коллекции портов.
  • Файловая система UFS / FFS была обновлена ​​для поддержки проверочных хэшей для карт групп цилиндров.
Текущая стабильная версия: 13.x 13 апреля 2021 г.
  • Утилиты clang, lld и lldb, а также библиотеки compiler-rt, llvm, libunwind и libc ++ обновлены до версии 11.0.1.
  • Из дерева удалены устаревшие binutils 2.17 и gcc (1) 4.2.1. Все поддерживаемые архитектуры теперь используют цепочку инструментов LLVM / clang.
  • Ядро теперь поддерживает формирование кадров внутри ядра и шифрование данных TLS на сокетах TCP для версий TLS с 1.0 по 1.3. Передача разгрузки через встроенные в ядро ​​криптодрайверы поддерживается для наборов шифров MtE с использованием AES-CBC, а также наборов шифров AEAD с использованием AES-GCM. Получение разгрузки через встроенные в ядро ​​криптодрайверы поддерживается для наборов шифров AES-GCM для TLS 1.2. Использование KTLS требует использования библиотеки SSL пользовательского пространства с поддержкой KTLS. Библиотека OpenSSL, включенная в базовую систему, не включает поддержку KTLS по умолчанию, но поддержка может быть включена путем сборки с параметром WITH_OPENSSL_KTLS
  • 64-битная архитектура ARM, известная как arm64 или AArch64, повышена до уровня Tier-1 для FreeBSD 13.
Версия Дата выхода Поддерживается до Существенные изменения

Смотрите также

использованная литература

Цитаты

Источники

внешние ссылки

Последняя правка сделана 2023-03-20 05:24:47
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте