Отчёт о развитии FreeBSD за третий квартал 2017 года

Улучшeны пoдсистeмы упрaвлeния виртуaльными тeрминaлaми, рaсклaдкoй клaвиaтуры, пoддeржки мыши, ugen и DECSCUSR. Чeтырe учaстникa лишились прaвa кoммитa в пoрты из-зa длитeльнoй нeaктивнoсти (alonso@), смeрти ache@) или пo сoбствeннoму жeлaнию (rpaulo@, kami@). Нa этaпe рeцeнзирoвaния нaxoдятся пaтчи с пoддeржкoй FreeBSD/arm. В нaстoящee врeмя пoрт сooтвeтствуeт сoстoянию пoдсистeмы DRM ядрa Linux 4.9. Дoбaвлeнa пoддeржкa псeвдoнимoв (alias) сeрвисoв. Рeaлизaция включaeт мoдифицирoвaннoe ядрo и дeмoн nfsd, кoтoрыe мoжнo испoльзoвaть в окружениях, начиная с FreeBSD 11. Улучшены средства активации по обращению к сокету. Права коммиттера получили пять новых участников: Zach Leslie (zleslie@), Luca Pizzamiglio (pizzamig@), Craig Leres (leres@), Adriaan de Groot (adridg@), and Dave Cottlehuber (dch@). Уровень поддержки Zen во FreeBSD оценен как пригодный для широкого использования на серверах и рабочих станциях. Добавлена возможность удалённой передачи логов (RFC 5424/5426). За отчётный период внесено 5900 изменений от 175 разработчиков. Ведётся работа по добавлению в порты Puppetserver 5; Началась работа по замене в базовой системе Heimdal Kerberos на MIT Kerberos, которая обеспечивает более полную совместимость с решениями от Microsoft и Red Hat; Порт devel/gdb обновлён до GDB 8.0.1. В качестве замены варианта Facter, написанного на языке Ruby (sysutils/rubygem-facter), предложена версия Facter на C++ (sysutils/facter). Улучшен импорт сервисов MySQL, MariaDB, Percona и OpenVPN, а также импорт конфигурации. Предлагаемая по умолчанию версия GCC поднята с 5 до 6. С момента прошлого упоминания nosh в отчёте о развитии FreeBSD в 2015 году, проведена реструктуризация пакетов, позволившая сократить число конфликтов с другими инструментариями. Система переносимая, не зависит от особенностей ядра и может применяться как в BSD-системах, так и в Linux. Основные достижения:

Общие и системные вопросы Возобновлена разработка системного менеджера nosh, включающего набор средств для инициализации, загрузки, ведения логов, управления фоновыми процессами и терминалами. В основную кодовую базу GDB включены подготовленные разработчиками FreeBSD патчи с поддержкой $_siginfo (необходимы для извлечения информации о сигналах из core-файлов) и исправления для поддержи приложений в окружении FreeBSD/aarch64 (патчи для отладки ядра FreeBSD/aarch64 пока доступны через порт). Улучшена работа флагов USE_GITHUB и SHEBANG_FILES. Ведётся портирование на iflib драйвера ixl (40G чипы); Передан для рецензирования код драйвера для адаптеров Intel X722 (iw_ixl) с реализацией поддержки протокола iWARP (Internet Wide-area RDMA Protocol) для обеспечения удалённого прямого доступа к памяти. Улучшена работа привязанных к пользователю сервисов D-Bus. Улучшена работа одноразовых сервисов. Предоставляется набор прослоек для использования команд, ставших привычных в других системах, импорта существующих конфигурационных файлов /etc/fstab, /etc/rc.conf, /etc/rc.local и /etc/ttys, а также настроек изолированных окружений Jail и PC-BSD Warden. Введён в строй дополнительный тестовый сценарий на базе DTrace; Системы хранения и файловые системы Ведётся тестирование реализации расширения Parallel NFS (pNFS), которое позволяет организовать высокоскоростной обмен данными между машинами сети за счет возможности распараллеливания обращения к данным на нескольких хранилищах, а также разделения передачи потоков данных и мета-данных. В дерево портов добавлен выпуск Puppet 5 (sysutils/puppet5). Сервера хранения могут зералироваться (Flex Files Layout) для обеспечения избыточности (средства оценки сбоев и восстановления зеркал пока отсутствуют); Поддержка оборудования Значительно улучшена поддержка процессоров AMD на базе микроархитектуры Zen (семейство 17h, CPU Ryzen, Threadripper, Epyc), в том числе в cpufreq добавлены средства для управления частотой и уровнями производительности, в amdtemp добавлена поддержка мониторинга температуры CPU, а в aesni поддержка механизмов ускорения вычисления хэшей SHA. В том числе добавлены порты с графическим интерфейсом для построения сцен. Добавлено автоматическое определение местоположения Java VM. Опубликован отчёт о развитии проекта FreeBSD с июля по сентябрь 2017 года. Паетный менеджер pkg обновлён до выпуска 1.10.1. Удалены два новых USES-набора: execinfo (libexecinfo перенесён в базовую систему), twisted (остался лишь один порт Twisted). В текущем виде можно запустить один сервер метаданных и несколько серверов хранения, с которыми могут работать любые клиенты NFSv4.1 с поддержкой pNFS File Layout. Обновлены портыс Firefox и Chromium. Из нереализованных особенностей остаются только поддержка счётчиков производительности и CCP (Crypto Co-Processor); Драйвер ixgbe для 10-гигабитных сетевых адаптеров Intel переведён на использование фреймворка iflib. По умолчанию для задействования ускорения GPU включен бэкенд OpenGL Prism; Создана команда разработчиков puppet@, которая взяла на себя сопровождение около 30 портов, связанных с системой управления конфигурацией Puppet. В рамках программы грантов завершены или находятся в разработке проекты по обеспечению поддержки OpenZFS RAID-Z, улучшению драйвера bhnd для беспроводных адаптеров Broadcom, обеспечению работы на плате Beaglebone Black в режиме без вывода на экран (headless), расширению возможностей гипервизора bhyve для ARMv7, портированию bhyve/ARM на системы ARMv8; Трудоустроенные в организации FreeBSD Foundation инженеры выполнили работу по улучшению ZFS, поддержке новых серверных платформ Intel, обновлению реализации kqueue, поддержке 64-разрядных inode, возможности сборки с защитой стека (Stack guard), поддержке сборки ядра в режиме выявления неопределённого поведения (Undefined Behavior Sanitizer), улучшению системного инструментария, портированию свежего кода графического драйвера i915, поддержке памяти NVDIMM в acpiconf, интеграции ФС FAT в makefs; Развивается инфраструктура непрерывной интеграции, в которой налажено регулярное автоматизированное тестирование в Travis CI и Jenkins содержимого Subversion-репозитория проекта. Размер пожертвований за 2017 год составил 978 тысяч долларов от 859 участников, при поставленной цели в 1250 тысяч долларов. Nosh позиционируется как замена систем BSD init и NetBSD rc.d, вобравшая в себя черты таких систем, как Solaris SMF, daemontools-encore, UCSPI и средств IBM AIX по раздельному управлению системой и сервисами. Представлено несколько вспомогательных команд. Несмотря на то, что порт экспериментальный, он вполне работоспособен на многих современных GPU, включая серию AMD HD7000 (от Tahiti до Polaris) и Intel HD3000 (от Sandy Bridge до Skylake); Дерево портов FreeBSD преодолело рубеж в 31600 портов (на 1600 портов больше, чем в прошлом отчёте), число незакрытых PR держится на отметке в 2671, из которых 718 неразобраны. В дальнейшем планируется представить полную поддержку iWARP для система на чипах Intel C620; Приложения и система портов Для FreeBSD-CURRENT (amd64) представлен порт graphics/drm-next-kmod, обеспечивающий работу DRM-модулей amdgpu, i915 и radeon, используя фреймворк linuxkpi, обеспечивающий совместимость с DRM API (Direct Rendering Manager) ядра Linux. Указанные команды не войдёт в состав выпуска FreeBSD 12, но их можно будет отдельно установить из порта net/bsdrcmds; Добавлены порты с компонентами платформы OpenJFX, в рамках которого развивается полностью открытый вариант JavaFX для разработки пользовательских и встраиваемых приложений на базе JavaSE. Принято решение исключить из базовой системы утилиты rlogin, rsh, rcp, ruptime и rwho, которые объявлены устаревшими и давно вытеснены инструментарием SSH. Доступны возможности для определения порядка запуска сервисов, организации зависимостей между сервисами, обеспечения параллельного выполнения сервисов, автоматической ротации логов, отслеживания работы сервисов и применения kevent для обеспечения событийно-ориентированного параллелизма. В ветке FreeBSD 12 проведена работа по обеспечению отладки core-дампов и VFP-регистров через ptrace (). Добавлены файл для автодополнения ввода к zsh.

Комментирование и размещение ссылок запрещено.

Комментарии закрыты.