FreeBSD — свободная Unix-подобная операционная система, потомок AT&T Unix по линии BSD, созданной в Калифорнийском университете в Беркли*From Linux to FreeBSD: A FreeBSD Review FreeBSD 5.2 Lacks Polishing In Some Areas but Rules in Others FreeBSD — The Power to Serve Beastie of an OS | Tux Machines FreeBSD 8: an evolutionary release of the unknown giant [LWN.net] DistroWatch Weekly, Issue 494, 11 February 2013 The BSD famiily, pt. 1: FreeBAS 9.1 DistroWatch Weekly, Issue 545, 10 February 2014 DistroWatch Weekly, Issue 686, 7 November 2016 .
FreeBSD разрабатывается как целостная операционная система. Исходный код ядра, драйверов устройств и базовых пользовательских программ, таких как командные оболочки и т. п., содержится в одном дереве системы управления версиями (до 31 мая 2008 — CVS, позже — SVN, а сейчас — Git). Это отличает FreeBSD от GNU/Linux — другой свободной UNIX-подобной операционной системы, в которой ядро разрабатывается одной группой разработчиков, набор пользовательских программ — другими (например, проект GNU), а многочисленные группы собирают это всё в единое целое и выпускают в виде различных дистрибутивов.
FreeBSD хорошо зарекомендовала себя как система для построения интранет- и интернет-сетей и серверов. Она предоставляет надёжные сетевые службы и эффективное управление памятью.
Помимо своей стабильности, FreeBSD популярна и благодаря своей лицензии, которая существенно отличается от широко известной лицензии GNU GPL. Лицензия BSD позволяет использовать код не только в свободном ПО, но и в проприетарном. В отличие от LGPL, которая требует раскрытия исходных кодов, лицензия BSD является более простой и непритязательной, требуя лишь упоминания заимствования, авторства и отказ от навязывания ответственности (нельзя отсылать пользователей своего продукта к авторам заимствованного кода).
История Разработка FreeBSD началась в 1993 году с быстрорастущего набора патчей пользователей системы 386BSD*
Company History Linux Today — Report from Comdex--Walnut Creek CDROM, FreeBSD and Slackware
BSD Overview Sony’s PlayStation 4 Is Running Modified FreeBSD — Phoronix Netflix’s New Peering Appliance Uses FreeBSD Newsletter | FreeBSD Foundation FreeBSD High Capacity Server Perfomance Turning — FlightAware Release Information . Этот набор позже вырос и отделился от 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 содержит более подробную историческую информацию о происхождении системы.
Версии системы Версия Дата выпуска Окончание поддержки декабрь 1993 май 1994 22 ноября 1994 16 июля 1996 17 февраля 1997 март 1997 29 ноября 1998 16 октября 1998 15 февраля 1999 17 мая 1999 15 сентября 1999 20 декабря 1999 25 июня 2000 27 июля 2000 14 марта 2000 27 июля 2000 7 ноября 2000 21 ноября 2000 20 апреля 2001 20 сентября 2001 20 января 2002 15 июня 2002 10 октября 2002 3 апреля 2003 31 марта 2004 28 октября 2003 27 мая 2004 Май 2006 25 января 2005 31 января 2007 19 января 2003 30 июня 2003 9 июня 2003 Февраль 2004 12 января 2004 6 ноября 2004 31 октября 2006 9 мая 2005 1 ноября 2005 31 января 2007 8 мая 2006 31 мая 2008 15 января 2007 27 февраля 2008 30 апреля 2009 4 января 2009 28 февраля 2011 26 ноября 2009 30 ноября 2010 23 июля 2010 31 июля 2012 24 февраля 2011 9 апреля 2012 30 апреля 2014 9 июня 2013 1 августа 2015 12 января 2012 31 марта 2013 30 декабря 2012 31 декабря 2014 30 сентября 2013 16 июля 2014 31 декабря 2016 20 января 2014 28 февраля 2015 14 ноября 2014 31 декабря 2016 13 августа 2015 4 апреля 2016 30 апреля 2018 3 октября 2017 31 октября 2018 10 октября 2016 31 октября 2017 26 июля 2017 30 Сентября 2018 27 июня 201831 октября 2019 9 июля 201930 сентября 2020 16 июня 202030 сентября 2021 10 декабря 201829 февраля 2020 4 ноября 201931 января 2021 27 октября 202031 марта 2022 7 декабря 2021 31 марта 2023 5 декабря 2022 31 декабря 2023 13 апреля 202131 августа 2022 16 мая 2022 31 июля 2023 11 апреля 2023 30 июня 2024 5 марта 202431 декабря 2024 17 сентября 202430 июня 2025 14 ноября 2023 30 сентября 2024 4 июня 202431 марта 2025 3 декабря 202430 сентября 2025 Версия Дата релиза Окончание поддержки 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. Новое в этой ветке включает в себя: оптимизированный сетевой протокол транспортного уровня SCTP, экспериментальная адаптированная версия файловой системы ZFS (разработанной компанией Sun), компилятор GCC4.2, базовая поддержка платформы ARM, новый менеджер памяти jemalloc, оптимизированный для параллельных вычислений, большие изменения и оптимизации подсистем работы с сетями, аудиоустройствами и SMP-системамиFederico Biancuzzi. What’s New in FreeBSD 7.0 26 февраля 2008, Новая система показала значительные улучшения в скорости по сравнению с предыдущими версиями и системой Linux.
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 для этой ветки почти завершенаThe arrow of time — ZFS v13 in 7-STABLE .
24 января 2011 года вышла версия 7.4.
Поддержка ветки FreeBSD 7 истекла 28 февраля 2013 года.
FreeBSD 8
О выходе релиза FreeBSD 8.0 было объявлено 25 ноября 2009 года. Среди нововведений в этой версии можно отметить: экспериментальная поддержка MIPS, основанная на разработках Juniper Networks. практически неограниченная масштабируемость SMP значительно способствует быстродействию на 16-ядерных системах. масштабируемость файловой системы как результат использования блокировки виртуальной файловой системы (VFS). работа расширяемой системы безопасности ядра (MAC Framework) из коробки. переписанную подсистему USB с улучшенным быстродействием и поддержкой новых устройств. Добавлена поддержка USB-target. ZFS более не находится в экспериментальном статусе. Кроме того, следует отметить: Реализован новый контейнер виртуализации, названный «vimage». vimage — это jail с виртуализированным сетевым стеком и может быть создан с помощью команды jail(8) Подсистема ipsec(4) теперь поддерживает NAT-Traversal (RFC 3948). Поддерживаемые версии GNOME desktop environment (x11/gnome2) и KDE desktop environment (x11/kde4) были обновлены до 2.26.3 и 4.3.1 соответственно. Стабильная ветка разработки 8-STABLE постоянно развивается, в неё постепенно вливается проверенный и отлаженный код из экспериментальной ветки разработки. Продолжается улучшение надёжности и быстродействия файловых систем UFS2 и ZFS, перерабатывается код протокола сетевого доступа NFS с целью реализации всех возможностей NFSv4.
FreeBSD 9
FreeBSD 9.0 выпущена 12 января 2012 года.
Основные изменения: Переход на новый модульный инсталлятор BSDInstall Интеграция в систему LLVMDavid Chisnall, LLVM in the FreeBSD Toolchain , 2013 3.0/Clang 3.0 для постепенной замены устаревшей версии GCC 4.2.2 в базовой системе В DTrace реализованы модули для трассировки 32-разрядных системных вызовов linux32 и freebsd32 на 64-разрядной платформе FreeBSD [amd64] Новая реализация программного RAID graid для замены устаревшей подсистемы ataraid