Реклама


FreeBSD

FreeBSD
FreeBSD logo.png
FreeBSD gnome2.20.png
Разработчик The FreeBSD Project
Основана на BSD[2] и 386BSD[3]
Последняя версия
Менеджеры пакетов Pkgcore
Поддерживаемые платформы x86, x86_64, SPARC, DEC Alpha, PowerPC, ARM и MIPS
Тип ядра Модульное ядро
Лицензия 2-пунктная лицензия BSD[d][4]
Репозиторий исходного кода svn.freebsd.org/base/
Веб-сайт freebsd.org​ (англ.)
Commons-logo.svg Медиафайлы на Викискладе

FreeBSD — свободная операционная система семейства UNIX, потомок AT&T Unix по линии BSD, созданной в университете Беркли[5][6][7][8][9][10][11][12][13].

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

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

Помимо своей стабильности, FreeBSD популярна и благодаря своей лицензии, которая существенно отличается от широко известной лицензии GNU GPL. Лицензия BSD позволяет использовать код не только в свободном ПО, но и в проприетарном. В отличие от GNU LGPL, которая требует раскрытия исходных кодов, лицензия BSD является более простой и непритязательной, требуя лишь упоминания заимствования, авторства и отказ от навязывания ответственности (нельзя отсылать пользователей своего продукта к авторам заимствованного кода).

История[ | код]

Разработка FreeBSD началась в 1993 году с быстрорастущего набора патчей пользователей системы 386BSD[15][16][17][18][19][20][21][22][23][24][25]. Этот набор позже вырос и отделился от 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 содержит более подробную историческую информацию о происхождении системы[26].

Версии системы[ | код]

Версия Дата выпуска Окончание поддержки
Старая версия, не поддерживается: 1.0 Ноябрь 1993
Старая версия, не поддерживается: 1.1 Май 1994
Старая версия, не поддерживается: 2.0 22 ноября 1994
Старая версия, не поддерживается: 2.1.5 16 июля 1996
Старая версия, не поддерживается: 2.1.7 17 февраля 1997
Старая версия, не поддерживается: 2.2 Март 1997
Старая версия, не поддерживается: 2.2.8 29 ноября 1998
Старая версия, не поддерживается: 3.0 16 октября 1998
Старая версия, не поддерживается: 3.1 15 февраля 1999
Старая версия, не поддерживается: 3.2 17 мая 1999
Старая версия, не поддерживается: 3.3 15 сентября 1999
Старая версия, не поддерживается: 3.4 20 декабря 1999
Старая версия, не поддерживается: 3.5 25 июня 2000
Старая версия, не поддерживается: 3.5.1 27 июля 2000
Старая версия, не поддерживается: 4.0[27][28] 14 марта 2000
Старая версия, не поддерживается: 4.1 27 июля 2000
Старая версия, не поддерживается: 4.1.1 7 ноября 2000
Старая версия, не поддерживается: 4.2 21 ноября 2000
Старая версия, не поддерживается: 4.3
Старая версия, не поддерживается: 4.4
Старая версия, не поддерживается: 4.5
Старая версия, не поддерживается: 4.6
Старая версия, не поддерживается: 4.7
Старая версия, не поддерживается: 4.8 3 апреля 2003 31 марта 2004
Старая версия, не поддерживается: 4.9
Старая версия, не поддерживается: 4.10 27 мая 2004 Май 2006
Старая версия, не поддерживается: 4.11 25 января 2005 31 января 2007
Старая версия, не поддерживается: 5.0 14 января 2003 30 июня 2003
Старая версия, не поддерживается: 5.1 9 июня 2003 Февраль 2004
Старая версия, не поддерживается: 5.3 6 ноября 2004 31 октября 2006
Старая версия, не поддерживается: 5.4 9 мая 2005 31 октября 2006
Старая версия, не поддерживается: 6.0 1 ноября 2005
Старая версия, не поддерживается: 6.1 8 мая 2006
Старая версия, не поддерживается: 6.2 15 января 2007 31 мая 2008
Старая версия, не поддерживается: 7.0 27 февраля 2008 30 апреля 2009
Старая версия, не поддерживается: 7.1 4 января 2009 28 февраля 2011
Старая версия, не поддерживается: 8.0 26 ноября 2009
Старая версия, не поддерживается: 8.1 23 июля 2010 31 июля 2012
Старая версия, не поддерживается: 8.2 24 февраля 2011
Старая версия, не поддерживается: 8.3 9 апреля 2012 30 апреля 2014
Старая версия, не поддерживается: 8.4 9 июня 2013 1 августа 2015
Старая версия, не поддерживается: 9.0 12 января 2012 31 марта 2013
Старая версия, не поддерживается: 9.1 30 декабря 2012 31 декабря 2014
Старая версия, не поддерживается: 9.2 30 сентября 2013 31 декабря 2014
Старая версия, не поддерживается: 9.3 16 июля 2014 31 декабря 2016
Старая версия, не поддерживается: 10.0 20 января 2014 28 февраля 2015
Старая версия, не поддерживается: 10.1 14 ноября 2014 31 декабря 2016[29]
Старая версия, не поддерживается: 10.2 13 августа 2015 31 декабря 2016[29]
Старая версия, не поддерживается: 10.3 4 апреля 2016 30 апреля 2018[29]
Старая версия, не поддерживается: 10.4 3 октября 2017[30] 31 октября 2018[31]
Старая версия, не поддерживается: 11.0 10 октября 2016[32] 31 октября 2017
Старая версия, не поддерживается: 11.1 26 июля 2017[33] 30 Сентября 2018[34]
Старая версия, не поддерживается: 11.2[35][36] 27 июня 2018[37][38]
Текущая версия: 12.0 10 декабря 2018[39]
12.1 4 ноября 2019
Версия Дата релиза Окончание поддержки
Легенда:
Старая версия
Старая поддерживаемая версия
Текущая версия
Тестовая версия
Будущая версия

FreeBSD 3[ | код]

3.0-RELEASE анонсирована 13 октября 1998 года. Основное отличие от 2.2 — переход на ELF исполняемые файлы. Последний 3.5-RELEASE вышел 23 июня 2000 года.

FreeBSD 4[ | код]

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

Одним из главных недостатков 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 были признаны стабильными и высокопроизводительными, но более ранние версии не годились для использования в рабочих условиях. Более новые версии 3BSD не поддерживают оригинальный процессор Intel 80386, они поддерживаются только во FreeBSD 5.X и более ранних версиях (FreeBSD 5.2-RELEASE и более поздние не поддерживают процессор 80386SX). Следует заметить, что ядро GENERIC поддерживает процессоры 80386 только во FreeBSD 4.X и более ранних версиях.

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. Новое в этой ветке включает в себя:

Новая система показала значительные улучшения в скорости по сравнению с предыдущими версиями и системой Linux[42].

4 мая 2009 года вышла версия 7.2. Нововведения в этой версии:

На сегодняшний день уже разработаны видеодрайверы NVIDIA для 64-разрядной архитектуры AMD64. Окончательная адаптация файловой системы ZFS v.13 для этой ветки почти завершена[43].

24 января 2011 года вышла версия 7.4.

Поддержка ветки FreeBSD 7 истекла 28 февраля 2013 года

FreeBSD 8[ | код]

О выходе релиза FreeBSD 8.0 было объявлено 25 ноября 2009 года[44]. Среди нововведений в этой версии можно отметить:

Кроме того, следует отметить:

Стабильная ветка разработки 8-STABLE постоянно развивается, в неё постепенно вливается проверенный и отлаженный код из экспериментальной ветки разработки. Продолжается улучшение надёжности и быстродействия файловых систем UFS2 и ZFS, перерабатывается код протокола сетевого доступа NFS с целью реализации всех возможностей NFSv4.


FreeBSD 9[ | код]

FreeBSD 9.0 выпущена 12 января 2012 года. Основные изменения:

FreeBSD 9.1 выпущена 31 декабря 2012 года. Основные отличия от FreeBSD 9.0:

FreeBSD 9.2 выпущена 27 сентября 2013 года. Основные нововведения:

FreeBSD 10[ | код]

FreeBSD 10.0 выпущена 20 января 2014 года.[46]

Основные изменения:

FreeBSD 10.1

FreeBSD 10.1 выпущена 14 ноября 2014 года[51].

Основные изменения:

FreeBSD 10.2

FreeBSD 10.2 выпущена 13 августа 2015 года.[52]

FreeBSD 11[ | код]

FreeBSD 11.0 выпущена 10 октября 2016 года.[53]

Основные изменения:

FreeBSD 12[ | код]

FreeBSD 12 выпущена 11 декабря 2018 года.

Основные изменения:

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

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

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

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

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

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

В настоящее время поддерживаются стабильные ветви разработки 9-STABLE, 10-STABLE и 11-STABLE. На данный момент, группа разработчиков активно работает над версией 13.0-CURRENT.

Варианты установки[ | код]

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

Оболочка[ | код]

Оболочкой FreeBSD по умолчанию является tcsh[55].

Порты и пакеты[ | код]

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

В настоящее время FreeBSD предоставляет пользователю две взаимодополняющие технологии установки программного обеспечения сторонних разработчиков: коллекция портов FreeBSD и бинарные пакеты с программным обеспечением. Любая из этих систем может быть использована для установки самых последних версий приложений с локальных носителей или прямо из сети.

Коллекция портов, как подсистема сборки и сопровождения устанавливаемых программ, периодически обновляется. Сейчас она насчитывает порядка 32 тысяч портированных на FreeBSD программ[56], среди которых: графические среды GNOME, KDE5, Xfce, Enlightenment, офисные приложения и пакеты Apache OpenOffice, LibreOffice, система поддержки печати CUPS, программы доступа в интернет Mozilla Firefox и Thunderbird, Chromium, системы управления базами данных PostgreSQL, MySQL, комплекты Java-разработки OpenJDK, среды разработки Eclipse и NetBeans, мультимедийные плееры MPlayer и VLC. Инфраструктура интерпретируемых языков представлена Perl, Python, Ruby, Lua и другими ЯП.

Совместимость с оборудованием[ | код]

Поддерживаемые устройства перечислены в документе FreeBSD 12.1-RELEASE Hardware Notes.[57] Другие конфигурации также могут работать, но пока ещё не были протестированы. Списки поддерживаемых идентификаторов устройств доступны в стороннем репозитории.[58]

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

Талисманы-логотипы[ | код]

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

Производные системы[ | код]

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

Ниже приведены свободные производные операционные системы:

Пасхальные яйца[ | код]

YouTube full-color icon (2017).svg Видео демонстрации пасхального яйца "make love" на FreeBSD 7.4-RELEASE, начиная с 0:10-й сек.

См. также[ | код]

Примечания[ | код]

  1. FreeBSD 12.2-RELEASE Release Notes (англ.) — 2020.
  2. The UNIX system family tree: Research and BSD
  3. https://github.com/freebsd/freebsd/blob/master/share/misc/bsd-family-tree
  4. https://www.freebsd.org/copyright/freebsd-license.html
  5. From Linux to FreeBSD: A FreeBSD Review
  6. FreeBSD 5.2 Lacks Polishing In Some Areas but Rules in Others
  7. FreeBSD — The Power to Serve
  8. Beastie of an OS | Tux Machines
  9. FreeBSD 8: an evolutionary release of the unknown giant [LWN.net]
  10. DistroWatch Weekly, Issue 494, 11 February 2013
  11. The BSD famiily, pt. 1: FreeBAS 9.1
  12. DistroWatch Weekly, Issue 545, 10 February 2014
  13. DistroWatch Weekly, Issue 686, 7 November 2016
  14. см. Пространство пользователя
  15. Open Sources: Voices from the Open Source Revolution (недоступная ссылка). Дата обращения: 20 июня 2018. Архивировано 1 октября 2009 года.
  16. FreeBSD Day | FreeBSD Foundation (недоступная ссылка). Дата обращения: 20 июня 2018. Архивировано 16 сентября 2018 года.
  17. Company History
  18. Linux Today — Report from Comdex--Walnut Creek CDROM, FreeBSD and Slackware
  19. Why FreeBSD. Архивировано 11 сентября 2013 года.
  20. BSD Overview
  21. Sony’s PlayStation 4 Is Running Modified FreeBSD — Phoronix
  22. Netflix’s New Peering Appliance Uses FreeBSD
  23. Newsletter | FreeBSD Foundation
  24. FreeBSD High Capacity Server Perfomance Turning — FlightAware
  25. Release Information
  26. О Проекте FreeBSD
  27. FreeBSD 4.0 Announcement
  28. FreeBSD 4.0 Release Notes
  29. 1 2 3 FreeBSD Security Information - End of Life. The FreeBSD Project.. Дата обращения: 10 Октября 2016.
  30. FreeBSD 10.4-RELEASE Announcement. The FreeBSD Project.. Дата обращения: 3 Октября 2017.
  31. FreeBSD Security Information — End of Life. The FreeBSD Project.. Дата обращения: 3 Октября 2017.
  32. FreeBSD 11.0-RELEASE Announcement. The FreeBSD Project. Дата обращения: 10 Октября 2016.
  33. FreeBSD 11.1-RELEASE Announcement. The FreeBSD Project. Дата обращения: 26 Июля 2017.
  34. BSDSec | FreeBSD 11.1 end-of-life. bsdsec.net. Дата обращения: 5 сентября 2018.
  35. DistroWatch Weekly, Issue 769, 25 June 2018
  36. DistroWatch Weekly, Issue 770, 2 July 2018
  37. Ошибка в сносках?: Неверный тег <ref>; для сносок lastrelease не указан текст
  38. FreeBSD 11.2-RELEASE Process. The FreeBSD Project. Дата обращения: 27 Июня 2018.
  39. FreeBSD 12.0 Release Process. The FreeBSD Project (18 Сентября 2017).
  40. Jason Evans. A Scalable Concurrent malloc(3) Implementation for FreeBSD (16 апреля 2006). Дата обращения: 13 февраля 2008. Архивировано 22 августа 2011 года.
  41. Federico Biancuzzi. What’s New in FreeBSD 7.0 26 февраля 2008
  42. Introducing FreeBSD 7.0
  43. The arrow of time — ZFS v13 in 7-STABLE Архивировано 27 мая 2009 года.
  44. FreeBSD 8.0-RELEASE Announcement
  45. David Chisnall, LLVM in the FreeBSD Toolchain, 2013 (англ.)
  46. FreeBSD 10.0-RELEASE Announcement
  47. FreeBSD 10.0-RELEASE Release Notes
  48. Revision 240868
  49. quick start guide
  50. WhatsNew/FreeBSD10 — FreeBSD Wiki
  51. FreeBSD 10.1 Release Process.
  52. FreeBSD 10.2-RELEASE Announcement. www.freebsd.org. Дата обращения: 29 ноября 2015.
  53. FreeBSD 11.0-RELEASE Announcement. www.freebsd.org. Дата обращения: 12 октября 2016.
  54. МакКузик. FreeBSD. Архитектура и реализация.
  55. 2. Default Shell
  56. Самая свежая информация о портах
  57. FreeBSD 12.1-RELEASE Hardware Notes. The FreeBSD Documentation Project. Дата обращения: 14 июля 2020.
  58. FreeBSD 12.1: ids of supported devices. BSD Hardware Project. Дата обращения: 14 июля 2020.
  59. FreeBSD Hardware Trends. BSD Hardware Project. Дата обращения: 14 июля 2020.
  60. Брайн Таймэн. FreeBSD 6. Полное руководство. С. 30
  61. Panasonic G20 review
  62. Информация в реестре российского ПО Минкомсвязи РФ.

[1]

Литература[ | код]

Англоязычная

Ссылки[ | код]

  1. FreeBSD 12.0-RELEASE Announcement. www.freebsd.org. Дата обращения: 13 декабря 2018.
Реклама