FreeBSD

Продукт
Дата последнего релиза: 2016/07/25

Содержание

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

Эмблема проекта FreeBSD

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

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

2016

FreeBSD 11.0 beta 2

25 июля 2016 года стал доступен второй бета-выпуск FreeBSD 11.0.

Выпуск FreeBSD 11.0-BETA2 подготовлен для архитектуры amd64, i386, powerpc, powerpc64, sparc64 и armv6 (BANANAPI, BEAGLEBONE, CUBIEBOARD, CUBIEBOARD2, CUBOX-HUMMINGBOARD, GUMSTIX, RPI-B, RPI2, PANDABOARD, WANDBOARD)[1].

Дополнительно подготовлены образы для систем виртуализации (QCOW2, VHD, VMDK, raw) и облачных окружений Amazon EC2. Релиз FreeBSD 11.0 запланирован на 2 сентября 2016 года.

Во втором бета-выпуске, в утилите freebsd-update появилась возможность установки наборов дистрибутива ('*-dbg'), внесены исправления в сборочный инструментарий, для архитектуры powerpc/powerpc64 и arm/armv6 отключены WITNESS и INVARIANTS, удалена конфигурация ядра GENERIC-NODEBUG, проведена работа над ошибками.

Собственный дистрибутив Microsoft

В июне 2016 года Microsoft выпустила собственный дистрибутив открытой операционной системы FreeBSD. Таким образом, американская корпорация продолжает развивать проекты в области Open Source.

Как сообщил в блоге Microsoft Джейсон Андерсон (Jason Anderson), главный программный менеджер центра Open Source Technology американской компании, в каталоге Azure Marketplace был размещен собственный образ Microsoft FreeBSD 10.3. Софтверный гигант сделал это, чтобы «снять нагрузку» с организации FreeBSD Foundation, которая развивается во многом благодаря энтузиастам и своему сообществу.

В начале июня 2016 года Microsoft представила свой дистрибутив FreeBSD

Андерсон также отметил, что Microsoft решила заняться тестированием, выпуском и обслуживанием своего дистрибутива FreeBSD, чтобы клиенты могли работать с этой операционной системой в облаке Azure.

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

Microsoft обещает сохранить поддержку своей версии FreeBSD и добавлять в нее разработки из актуальных модификаций операционной системы для улучшения функционирования виртуальных машин FreeBSD на платформе Azure.

«
Размещение поддерживаемого образа FreeBSD в Azure Marketplace — значительное достижение как для сообщества FreeBSD, так и для Microsoft. Мы благодарны корпорации за ее вклад в проект FreeBSD, — заявил основатель и вице-президент FreeBSD Foundation Джастин Гиббс (Justin Gibbs).
»

Это далеко не первый проект Microsoft в области программного обеспечения с открытым исходным кодом. В 2016 году Microsoft и Canonical объединили усилия для тесного взаимодействия Ubuntu и Windows 10. Кроме того, Microsoft сделала возможной установку ядра .NET Core под Linux, добавила поддержку Debian GNU/Linux в своем облаке Azure и организовала услуги по сертификации Linux. [2]

Выход FreeBSD 10.3

4 апреля 2016 года сообщество FreeBSD сообщило о выпуске релиза 10.3[3].

Подготовлены образы для систем виртуализации (QCOW2, VHD, VMDK, raw) и облачных окружений Amazon EC2, Google Compute Engine и Hashicorp/Atlas Vagrant. Среди значимых изменений:

  • улучшение работы на системах UEFI,
  • возможность загрузки на корневых разделах с ZFS,
  • функция смены корневой ФС (reroot) во время загрузки,
  • поддержка выполнения 64-разрядных приложений в режиме эмуляции Linux,
  • добавление средств кластеризации в CAM Target Layer (CTL).

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

  • Серия изменений, связанных с загрузкой на системах с UEFI. В UEFI-загрузчик добавлена поддержка корневых разделов с ZFS и возможность использования нескольких загрузочных окружений ZFS, таких как предоставляются в sysutils/beadm. Улучшена совместимость с различными реализациями UEFI. В UEFI-загрузчик добавлена возможность установки переменных EFI из командной строки загрузчика, а также поддержка файлов конфигурации /boot/config и /boot.config. В применяемый в загрузчике UEFI драйвер фреймбуфера efifb добавлены новые команды gop (Graphics Output Protocol) и uga (Universal Graphics Adapter) для диагностики проблем или установки графического режима на системах с поддержкой протоколов GOP и UGA (iMac7,1, MacBook3,1). В loader.efi добавлена начальная поддержка эмуляции терминала. Решены проблемы с мультизагрузкой и с загрузкой, приводящие к выводу ошибки "ExitBootServices() returned 0x8000000000000002";
  • В инсталлятор bsdinstall добавлена возможность установки на корневой раздел ZFS на системах с UEFI;
  • Обновлена реализация ZFS. По умолчанию включена поддержка сжатия LZ4, на 50% сокращено потребление памяти при использовании L2ARC, улучшено агрегирование ввода/вывода, переработан код упреждающей загрузки данных;
  • Добавлена возможность смены корневой ФС на лету. Ранее для перемонтирования корневого раздела требовалась перезагрузка. Смена корневой ФС необходима для работы на ранней стадии загрузки временных образов ram-дисков, осуществляющих инициализацию сеанса iSCSI, с последующим подключением корневой ФС поверх iSCSI;
  • Расширены возможности инфраструктуры эмуляции окружения Linux, в которой появилась возможность выполнения 64-разрядных приложений на системах с архитектурой amd64 (x86_64), добавлена поддержки потоков 1:1, VDSO и части API мультиплексированного ввода-вывода epoll(7). В jail добавлена поддержка монтирования файловых систем linprocfs и linsysfs;
  • В подсистему CAM Target Layer (CTL), обеспечивающую эмуляцию дисковых и процессорных устройств, через которую реализован сервер iSCSI, добавлена поддержка средств для обеспечения высокой доступности. Поддерживается создание двухузловых кластеров с асинхронными режимами доступ к юнитам LUN (ALUA, Asynchronous LUN Unit Access): Active/Unavailable, Active/Standby, синхронным Active/Active и прокси Active/Active;
  • Системные изменения
    • Внесены корректировки в код инициализации генератора псевдослучайных чисел, исключающие недостаток энтропии при загрузке на некоторых типах систем;
    • В системный вызов kqueue добавлена возможность обработки событий записи для файлов, размер которых превышает 2 Гб;
    • Переработана реализация кэша vnode, проведена оптимизация кода для распределения и чистки vnode;
    • В библиотеку разрешения имён добавлена поддержка перезагрузки файла /etc/resolv.conf, если изменилось время его модификации;
    • В скрипт rc.d/netwait добавлено ожидания сетевых интерфейсов, добавленных на последней стадии загрузки, например, сетевых адаптеров с интерфейсом USB;
    • В режиме межсетевого экрана firewall_type="SIMPLE" для блокирования адресов задействованы таблицы ipfw;
    • Добавлена sysctl-переменная kern.features.invariants, показывающая собрано или нет ядро с поддержкой инвариантов (INVARIANTS);

  • Инструментарий

    • В утилиту mkimg добавлена поддержка файловой системы NTFS;
    • Утилита sesutil для управления устройствами SES (SCSI Environmental Services);
    • Утилита timeout, позволяющая запустить команду с ограничением времени её выполнения;
    • В утилиту cp добавлен флаг "-s", позволяющий создавать символические ссылки;
    • При запуске утилиты jail если явно не указана выполняемая команда по умолчанию теперь запускается shell. Добавлена опция "-l" , которая гарантирует очистку переменных окружения по аналогии с директивой exec.clean, т.е. в jail передаются только переменные HOME, SHELL, TERM и USER, которые устанавливаются в фактические значения;
    • В утилите ifconfig при использовании флага "-v" обеспечен вывод информации об оптических модулях SFP/SFP+, при использовании поддерживающих вывод данной информации драйверов (cxgbe, ixgbe, mlx5en и sfxge);
    • В утилиту last возвращена случайно удалённая во FreeBSD 9.0 поддержка виртуального пользователя reboot, при указании которого показываются все записи, связанные перезагрузкой;
    • Обновлены версии сторонних программ, в том числе file 5.25, xz 5.2.2, ntpd 4.2.8p5, unbound 1.5.7, less v481, OpenSSL 1.0.1s, OpenSSH 7.2p2;
    • В портах обновлено десктоп-окружение GNOME 3.16.2 (был 3.14.2). X.org Server обновлён до выпуска 1.17.4 (был 1.14.7);

  • Поддержка оборудования

    • Добавлен драйвер ismt с поддержкой контроллеров Intel SMBus 2.0;
    • Добавлен драйвер mlx5 с поддержкой Ethernet и Infiniband сетевых карт Mellanox ConnectX-4, поддерживающих передачу данных на скоростях до 100GBit/s. Связанный с драйвером модуль ядра mlx5en включён по умолчанию в конфигурации GENERIC;
    • В драйвер ctl добавлена поддержка CD-ROM и извлекаемых устройств;
    • В драйвер xen добавлена поддержка непрямого сегментированного ввода/вывода blkif;
    • Драйвер ixgbe(4) обновлён до версии 3.1.13-k, в которой появилась поддержка адаптеров X552 и X550T, добавлена поддержка настроек загрузчика hw.ix.flow_control и hw.ix.advertise_speed, исправлена большая порция проблем;
    • Обновлён драйвер isp(4), в котором появилась поддержка 16-гигабитных адаптеров Fibre Channel и завершена реализация функциональности Multi-ID (NPIV);
    • До версий 7.6.1 и 2.5.3 обновлены драйверы em(4) и igb(4), в которые добавлена поддержка чипов i219, i219(2) и i219(3), используемых в чипсетах для процессоров на базе Skylake и более новых микроархитектур;
    • Удалены устаревшие драйверы ata, такие как ataahci, ataadaptec и mv_sata, вместо которых следует использовать ahci, siis и mvs;
    • Из ядра GENERIC удалён драйвер pms из-за конфликта с драйверами ahd и mvs.

Вышел бета-релиз FreeBSD 10.3

В феврале 2016 года был представлен первый бета-выпуск FreeBSD 10.3. Выпуск FreeBSD 10.3-BETA1 доступен для архитектур amd64, i386, powerpc, powerpc64, sparc64 и armv6 (BEAGLEBONE, CUBOX-HUMMINGBOARD, GUMSTIX, PANDABOARD, RPI-B, WANDBOARD). Дополнительно подготовлены образы для систем виртуализации (QCOW2, VHD, VMDK, raw) и облачных окружений Amazon EC2 и Microsoft Azure. Релиз FreeBSD 10.3 запланирован на 22 марта. 27 июля ожидается релиз FreeBSD 11.

Список изменений FreeBSD 10.3 находится на начальной стадии формирования. Добавленные возможности и функции:

  • Поддержка NTFS в утилите mkimg,
  • Новая утилита sesutil для управления устройствами SES (SCSI Environmental Services),
  • В системном вызове kqueue появилась обработка событий записи для файлов больше 2 Гб,
  • Переписана реализация CTL High Availability,
  • В драйвер ctl добавлена поддержка CD-ROM и извлекаемых устройств,
  • В драйвер xen добавлена поддержка непрямого сегментированного ввода/вывода blkif,
  • Обновлена реализация ZFS.

2015: FreeBSD 10.2

14 августа 2015 года сообщество разработчиков официально представило релиз FreeBSD 10.2[4].

Система доступна для архитектуры AMD64, I386, IA64, PowerPC, PowerPC64, Sparc64 и ARMv6. Дополнительно подготовлены образы для систем виртуализации (QCOW2, VMDK, raw) и облачных окружений Amazon EC2, Google Compute Engine и Microsoft Azure.

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

  • Добавлена новая утилита uefisign для формирования цифровых подписей для файлов EFI, используемых для загрузки в конфигурациях с UEFI Secure Boot. В состав загрузчика EFI включен bzipfs;
  • Представлен новый rc-скрипт growfs, предназначенный для осуществления операции по изменению размера корневой ФС во время первой загрузки (если создан файл /firstboot), давая возможность автоматически занять корневой ФС всё нераспределённое место на диске. Управление работой скрипта производится через опцию growfs_enable в rc.conf. Скрипт также можно выполнить вручную ("/etc/rc.d/growfs onestart"), а не на этапе перезагрузки;
  • Поддерживаемая во FreeBSD инфраструктура эмуляции окружения Linux обновленa до CentOS 6.6 (порт emulators/linux-c6). Связанные с эмулятором порты адаптированы для использования CentOS 6.6, который теперь предлагается по умолчанию вместо пакетов на основе Fedora 10. Слой совместимости с ядром Linux теперь ссылается на выпуск 2.6.18;
  • Код drm-драйверов для графических карт синхронизирован с ядром Linux 3.8.13, что позволило реализовать ioctl-вызовы setmaster/dropmaster для решения проблемы с запуском одновременно нескольких X-серверов;
  • Расширены возможности порта FreeBSD/arm. Добавлена поддержка систем Exynos 5420 Octa и плат Toradex Apalis i.MX6. Добавлен драйвер bcm2835_cpufreq, позволяющий управлять частотой CPU и напряжением на Raspberry Pi. Для всех систем Exynos 5 активирована поддержка SMP. Добавлены драйверы передачи звука с поддержкой AUDMUXM (Digital Audio Multiplexer), SDMA (Smart Direct Memory Access Controller) и SSI (Syncronous Serial Interface). Реализованы корректные средства завершения работы на платах BeagleBone Black;
  • В ядро FreeBSD/i386 добавлена настройка PAE_TABLES, при которой в pmap включается использование формата PAE при работе с табицами страниц памяти в условиях 32-разряднной физической адресации. В данном режиме возможен маппинг памяти в режиме "no execute", что позволяет повысить защищённость системы от некоторых видов атак. Кроме того, в отличие от режима PAE, режим PAE_TABLES сохраняет совместимость на уровне бинарных интерфейсов (KBI) с не-PAE ядрами, позволяя использовать собранные для них модули и драйверы. При включении режиме PAE_TABLES лимиты ядра настраиваются с расчётом на размер ОЗУ 4 Гб;
  • Добавлен драйвер vxlan для создания виртуальных расширяемых локальных сетей (Virtual Extensible LAN), используемых для туннелирования виртуализированных сетей второго уровня поверх сетей третьего уровня. VXLAN позволяет обойти ограничение на 4096 VLAN-ов за счёт использования 24-разрядных идентификаторов;
  • Обновлён гипервизор bhyve: добавлена поддержка процессоров AMD c аппаратными расширениями SVM и AMD-V, добавлена поддержка команды DSM TRIM для виртуальных дисков AHCI;
  • В подсистеме autofs реализован новый тип сопоставлений "-media", позволяющий организовать автоматическое монтирование встраиваемых накопителей, таких как CD и USB Flash. Также добавлен тип "-noauto" аналогичный использованию флага noauto в fstab;

  • В сетевой драйвер em добавлена поддержка многоуровневых очередей (multiqueue). Включение производится через опцию ядра EM_MULTIQUEUE;
  • В ядре GENERIC по умолчанию включена поддержка RACCT и RCTL, подсистем для аккаунтинга и лимитирования ресурсов;
  • Для ZFS добавлена настройка vfs.zfs.spa_slop_shift, позволяющая изменить зарезервированное по умолчанию дисковое пространство;
  • Обновлена подсистема ctl (CAM Target Layer), в которой со 128 до 256 увеличен лимит на число портов, и с 256 до 1024 на число LUN;
  • В загрузчик добавлена поддержка ввода пароля для GELI-шифрования на этапе до загрузки ядра;
  • Существенно переработан драйвер gre, который теперь разделён на два отдельных модуля gre и me;
  • Добавлен драйвер virtio_console, предоставляющий интерфейс для проброса консольных устройств VirtIO через устройство tty;
  • Решены проблемы при использовании jail совместно с gif- и gre-туннелями;
  • В GENERIC ядре по умолчанию включены драйверы nvd и nvme с поддержкой дисковых контроллеров NVM Express;
  • В драйвер psm добавлена поддержка тачпадов Synaptics и мышей ClickPad, используемых в новых моделях ноутбуков Lenovo;
  • В драйвер ral добавлена поддержка чипов RT5390 и RT5392;
  • В утилите mount_nfs появилась поддержка опций timeo, actimeo, noac и proto;
  • В TCP-стеке по умолчанию отключено определение PLPMTUD (Packetization Layer Path MTU Discovery, RFC 4821). Для включения следует использовать sysctl net.inet.tcp.pmtud_blackhole_detection, net.inet.tcp.pmtud_blackhole_mss и net.inet.tcp.v6pmtud_blackhole_mss;

  • В базовую систему включена новая утилита dpv, наглядно отображающая прогресс передачи данных для одного или нескольких потоков;
  • Добавлена утилита fstyp для определения типа файловой системы на указанном разделе;
  • Добавлена библиотека figpar, предоставляющая API для разбора файлов конфигурации;
  • В утилиту gpart добавлена поддержка схем разделов в MBR apple-boot, apple-hfs и apple-ufs;
  • В утилиту mkimg добавлена поддержка разделов MBR EFI и реализован флаг "-c" для задания минимального виртуального размера итогового образа;
  • В утилиту netstat добавлена флаг "-R", при указании которого выводится информация об RSS/flow;
  • В утилите date для улучшения совместимости с GNU date реализовано отображение времени модификации файла, указанного через флаг "-r";
  • В bsdinstall добавлена возможность выбора схемы дисковых разделов при установке на UFS. Реализована поддержка выравнивания разделов по границе в 1 Мб при определении такой необходимости. Добавлен обходной путь для загрузки на различных ноутбуках и материнских платах, на которых ранее наблюдались проблемы с загрузкой с дисков с GPT-разделами;
  • Во freebsd-update добавлена защита от загрузки новых бинарных патчей, если прошлое обновление ещё не завершено;
  • Утилита resolvconf обновлена до версии openresolv 3.7.0, примечательной добавлением возможности установки флага приватности для интерфейсов в resolv.conf, что позволяет использовать данные интерфейсы только для осуществления резолвинга доменов по явно заданной в resolv.conf маске (domain/search);
  • Обновлены версии сторонних программ, в том числе ntp 4.2.8p3, acpi 20150515, file 5.23, unbound 1.5.3, sendmail 8.15.2, OpenSSL 1.0.1p.
  • Обновлены предлагаемые из портов десктоп-окружения: GNOME 3.14.2 и KDE 4.14.3. Обновлён графический стек (x11-servers/xorg-server 1.14.7_5, x11/xorg 7.7_2).

2014: FreeBSD 10.0

20 января 2014 года стало известно о выходе последнего релиза FreeBSD 10.0. Релиз 10.0 доступен для нескольких архитектур, включая x86, Power PC и Sparc.

Описание

Новую реализацию системы перевели на умолчательное использование компилятора Clang. В систему интегрирован гипервизор BHyVe, DNS-сервер BIND заменён на Unbound, вновь реализован протокол CARP, интегрирована подсистема FUSE, действует пакетный менеджер pkg по умолчанию.

Интегрирована поддержка unmapped VMIO, которая позволила поднять производительность ввода/вывода, благодаря исключению стадии маппинга буферов в TLB-кэше, что снизило накладные расходы при работе на многопроцессорных системах.

Обновлён установщик системы bsdinstall и в него добавлена поддержка полноценной установки системы на разделы ZFS. При этом все настройки производятся из меню, в том числе создание разделов, выбор уровня ZFS RAID, настройка шифрования с использованием GELI, выбор имени пула и т.п. Прежний инсталлятор sysinstall удалён из базовой системы, вместо него следует использовать bsdinstall и bsdconfig. Утилита bsdconfig реализует интерфейс для настройки различных параметров системы, обеспечивая функциональность похожую на меню "Configure" из sysinstall.

Реализована интеграция подсистемы FUSE - для работы файловых систем, реализованных на уровне пользователя. Поддерживается использование большинства FUSE-модулей, в том числе sshfs, ntfs-3g и ext4fuse.

Включена поддержка увеличения размера разделов UFS при помощи утилиты growfs на лету, без размонтирования раздела.

Включение наработок по оптимизации производительности файловых систем UFS/FFS. Ускорено выполнение fsck для новых разделов UFS;

Обновление компонентов подсистемы ZFS до последней версии ZFS pools с поддержкой сжатия LZ4 и L2ARC, уничтожением наборов данных в асинхронном режиме, оптимизациями ZIO NOP-write, поддержкой операции TRIM для SSD-накопителей.

В сетевой подсистеме проведена интеграция наработок проекта CARP2. В его рамках действует новая реализация протокола CARP (Common Address Redundancy Protocol) для FreeBSD. Протокол CARP, выступая в роли открытой альтернативы протоколам HSRP (Hot Standby Router Protocol) и VRRP (Virtual Router Redundancy Protocol), даёт возможность организации совместного использования IP-адреса между несколькими серверами в локальной сети, что может применяться для балансировки нагрузки или для создания отказоустойчивых систем.

Заменён DNS-сервер BIND на связку из кэширующего DNS-сервера Unbound и библиотеки LDNS. Unbound распространяется под лицензией BSD, имеет модульную структуру, поддерживает работу еханизма разрешения имён в рекурсивном и кэширующем режиме. Также обеспечивает проверку валидности DNSSEC-сигнатур. Вместо утилиты dig теперь используется drill. В качестве причины ухода от BIND разработчики упоминают о проблеме с протяжённостью цикла поддержки выпуска обновлений для BIND, которые не укладываются в цикл поддержки релизов FreeBSD.

Проведена интеграция гипервизора BHyVe, созданного компанией NetApp. Потребуется система с процессором Intel, поддерживающим аппаратные средства виртуализации VT-x и EPT (Extended Page Tables). Поддержка BHyVe пока ограничивается архитектурой amd64.

Добавлены драйверы устройств, видеокарт, средства для манипуляции страницами памяти большого размера.

Глеб Смирнов - Что нового в FreeBSD 10.0

2012

Hyper-V поддерживает FreeBSD

14 мая 2012 года на конференции BSDCan 2012 компания Microsoft вместе со своими партнерами компаниями NetApp и Citrix объявила о том, что операционная система FreeBSD будет поддерживаться гипервизором Hyper-V. Соответствующие драйверы, которые позволят операционной системе эффективно работать в виртуальной среде Windows Server 2008 R2 Hyper-V, включая исходные коды под лицензией BSD, станут доступны в начале лета 2012 г. для FreeBSD версий 8.2 и 8.3.

Разработка драйвера VMBUS, который связывает гостевую операционную систему с гипервизором Windows Server Hyper-V, проводилась Microsoft совместно с Insight Global. В дальнейшем планируется, что этот драйвер станет частью FreeBSD.

FreeBSD 9

Среди улучшений следует отметить сразу две графические среды, которые предлагаются пользователям на выбор. В последнее время Linux часто критикуют за недостатки графической среды, которые присущи как GNOME 3, так и Ubuntu Unity.

Разработчики FreeBSD 9.0 решили обойти это препятствие, предложив пользователям самим выбрать между дружественной и привычной средой GNOME 2.32 и приятным с эстетической точки зрения интерфейсом KDE 4.7.

Среди других существенных расширений FreeBSD 9.0 следует отметить новый инсталлятор, совместимость с процессорами PowerPC, которые используются в игровых приставках Sony PlayStation 3, множество обновленных драйверов, а также поддержку USB 3.0 и High Performance SSH.

Версия FreeBSD 9.0, выпуск которой ее разработчики посвятили памяти пионера компьютерной отрасли, создателя Unix и языка программирования Си Денниса Ритчи, работает в настоящее время на архитектурах AMD64, i386, ia64, PowerPC, PowerPC64 и SPARC64. Все необходимые ссылки и инструкции по установке находятся на официальном сайте FreeBSD.

2010: FreeBSD 8.1

Сообщество разработчиков FreeBSD объявило в августе 2010 года о выпуске версии 8.1 одноименной операционной системы на основе ядра Linux. Среди ключевых изменений нового продукта разработчики называют улучшенную поддержку оборудования и проведенную модернизацию программных составляющих системы. В FreeBSD 8.1 расширена и обновлена база драйверов, оптимизирован код платформы, исправлены обнаруженные ранее недочеты. Большое внимание при разработке новой версии FreeBSD было уделено средствам беспроводной связи Wi-Fi, сетевым компонентам, инструментам виртуализации и оптимизации платформы под современные многоядерные процессоры.

В числе прочих новшеств FreeBSD 8.1 фигурируют рабочие среды GNOME 2.30.1 и KDE 4.4.5, обновленный инструментарий OpenSSH для организации защищенных сетевых соединений, почтовый сервер Sendmail 8.14.4, поддержка архитектур UltraSPARC IV/IV+, SPARC64 V и прочие нововведения. Немало внимания уделялось вопросам безопасности и надежности продукта.

Новая версия платформы рекомендована разработчиками для промышленного внедрения; пользователи предыдущих редакций FreeBSD могут обновить ОС посредством утилиты freebsd-update и поясняющих инструкций, опубликованных на странице официального сайта продукта.

2009: FreeBSD 8.0

По состоянию на 26 ноября 2009 года текущий релиз FreeBSD имеет номер 8.0.

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

FreeBSD 5 включает несколько новых функций, в том числе относящихся к безопасности. С целью повысить безопасность FreeBSD был сформирован проект TrustedBSD, в рамках которого были разработаны, в том числе: расширяемая система принудительного контроля доступа MAC, списки доступа ACL для файловых систем и новая файловая система UFS2. Некоторые функции TrustedBSD были интегрированы также в операционные системы NetBSD и OpenBSD. FreeBSD 5 также поддерживает шифрование файловых систем посредством системы GBDE (Geom Based Disk Encryption), которую написал Пол-Хеннинг Камп, один из ведущих разработчиков. Другие важные возможности FreeBSD 5 относятся к внутриядерным блокировкам для улучшения производительности на многопроцессорных SMP-системах и многопоточности, реализованной системой KSE, которая являлась поточной библиотекой по умолчанию начиная с версии 5.3. Позже libkse в этом качестве была заменена на libpthread, однако до сих пор поддерживается в -STABLE.

8.0-RELEASE внёс несколько существенных новшеств: виртуализация сетевого стека (vimage), позволяющая использования нескольких сетевых стеков, поддержка работы в гостевом домене Xen (domU), переработанный USB стэк, ZFS версии 13, RPCSEC_GSS аутентификация для NFS, поддержка NAT-traversal (RFC 3948) в IPSEC, включенная по умолчанию система защиты от переполнения стека ProPolice SSP, улучшенный код для изолированных окружений (Jail2), поддержка равновесной маршрутизации (RFC 2992),

1993: Старт разработки FreeBSD

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

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

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

Участники проекта разрабатывают две ветки «CURRENT» и «STABLE».

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

Примечания

Ссылки

Сервер сайта FreeBSD