Отчёт о развитии FreeBSD за третий квартал 2016 года
16 ноября 2016 года
Опубликован отчёт о развитии проекта FreeBSD с июля по сентябрь 2016 года.
Основные достижения:
- Система
- Продолжается работа по переходу на использование компоновщика lld, развиваемого проектом LLVM, для динамического связывания объектных файлов FreeBSD. В дополнение к ранее реализованной возможности сборки базовой системы FreeBSD/amd64 с применением lld вместо GNU BFD ld, добавлена поддержка сборки ядра FreeBSD. Из пока нерешённых задач упоминаются проблемы со сборкой загрузчика и набора rescue. Из расширенных возможностей lld, отсутствующих в GNU ld 2.17.50, отмечается поддержка архитектуры AArch64 (arm64), возможность применения оптимизаций во время компоновки (Link Time Optimization, LTO), поддержка нового ABI, дополнительные оптимизации и существенное ускорение связывания;
- Переработана система блокировок в компонентах ядра, связанных с обработкой точного времени, в том числе внесены изменения в обработчик прерываний от таймера системные вызовы sys_ntp_adjtime(2) и settimeofday(2) и код синхронизации PPS (pulse-per-second). Улучшена реализация функции gettimeofday(2) на уровне пользователя, в которой сокращено число обращений к системным вызовам на оборудовании с таймерами HPET (High Precision Event Timer);
- Изолированные окружения, эмуляторы, безопасность и ограничения ресурсов
- Продолжена работа по изоляции системных приложений при помощи
фреймворка Capsicum, предоставляющего механизмы ограничения использования приложениями определённых системных функций. Основной целью работы является повышения защиты утилит, вызываемых из приложений, важных для обеспечения безопасности системны, таких как freebsd-update и portsnap. За отчётный период обеспечена sandbox-изоляция для утилит bspatch, cmp, ident, primes, tee, tr и write. Ожидают принятия дополнительные ограничения для утилит b64decode, b64encode, uudecode, uuencode, brandelf, dma-mbox-create, elf2aout, file, head, hexdump, iconv, ident, jot, ktrdump, lam, last, ministat, praudit и strings. В режиме capability разрешено использование системного вызова getdtablesize, а также sysctls kern.proc.nfds, kern.hostname и т.п. Переданные права теперь распространяются и на дочерние файловые дескрипторы, полученные через вызов accept(2). Capsicum активирован в прослойке для обеспечения совместимости с 32-разрядными системными вызовами;
- Представлен новый специализированны дистрибутив ClonOS, ориентированный на развёртывание систем виртулизации на основе FreeBSD, похожих по своей функциональности на OpenStack, OpenNebula и Amazon AWS. Окружения строятся с использованием гипервизоров Bhyve и Xen или контейнеров Jail. Управление построено на основе инструментария CBSD и системы Puppet. Из особенностей проекта отмечается организация сетевого взаимодействия через vale (Virtual Ethernet Switch), поддержка ZFS, функции клонирования, экспорта и импорта виртуальных машин, легковесные контейнеры на базе Jail, шаблоны контейнеров и виртуальных машин, VNC-терминал;
- Ведётся работа по портированию приложений для runtime-окружения CloudABI, базирующегося на применении механизма управления доступом Capsicum и предоставляющего средства для разработки приложений, защищённых от типовых уязвимостей и переносимых между разными системами. CloudABI также может применяться для безопасного для системы запуска не заслуживающих доверия программ, без применения окружений виртуализации и jail. Для пользователей развивается отдельная коллекция портов, в которую
Источники
правитьЛюбой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.