Представлен отчёт о развитии проекта FreeBSD с января по март 2015 года
Представлен отчёт о развитии проекта FreeBSD с января по март 2015 года
06.05.2015
Представлен отчёт о развитии проекта FreeBSD с января по март 2015 года.
Основные достижения:
- Система
- Поставляемые в базовой системе компилятор Clang, компоненты LLVM и отладчик LLDB обновлены до выпуска 3.6. Импортирован новый снапшот compiler-rt, который позволил добавить в поставляемый в базовой системе инструментарий средства для выявления ошибок при работе с памятью (Address Sanitizer) и детектор неопределённого поведения программы (Undefined Behavior Sanitizer);
- На финальный этап разработки вышел проект по созданию загрузчика со встроенной поддержкой языка Lua, который должен заменить собой загрузчик на базе языка Forth. Все скрипты уже переписаны на Lua и размещены в директории sys/boot/lua. Новый загрузчик будет интегрирован во FreeBSD HEAD как только будет завершено его тестирование и достигнут паритет в функциональности с загрузчиком Forth;
- Подготовлен релиз пакетного менеджера Pkg 1.5 с возможностью возобновления прерванных загрузок, режимом установки пакета в иную корневую директорию без использования chroot и начальной поддержкой опций provides/requires, позволяющих определить какой установленный пакет предоставляет указанную библиотеку и какие пакеты используют данную библиотеку.
- Добавлены два новых системных вызова futimens() и utimensat(), позволяющие манипулировать временем модификации файла с наносекундной точностью. Утилиты cp, mv и touch уже обновлены для сохранения параметров доступа с повышенной точностью. Ранее, stat() и похожие системные вызовы выводили параметры с наносекундной точностью, но установить эти параметры можно было только с точностью до микросекунд.
- В основное дерево исходных текстов приняты наработки по обеспечению сборки FreeBSD для развёртывания в качестве гостевой ОС в cloud-окружениях Amazon EC2, что дало возможность наладить формирование AMI-сборок FreeBSD в рамках основного процесса формирования релизов. Для сборки следует выполнить "make ec2ami" в директории src/release.
- Во FreeBSD HEAD обеспечена возможность динамической загрузки многопоточной библиотеки libthr.so из однопоточных процессов, собранных без опции "-lpthread". Для обхода ранее присутствовавших ограничений библиотека libthr.so преобразована в плагин к libc.
- Стартовал процесс миграции FreeBSD на инструментарий работы с исполняемыми файлами в формате ELF, эквивалентный набору GNU Binutils, но распространяемый под лицензией BSD. В настоящее время уже подготовлены BSD-версии библиотек libelf и libdwarf, а также утилит addr2line, nm, readelf, size, strings и strip (elfcopy). Пока отсутствуют аналоги утилит as, ld и objdump, но их планируется заимствовать у проекта LLVM.
- Изолированные окружения, эмуляторы, безопасность и ограничения ресурсов
- Отмечается прогресс в реализации верифицированной загрузки на системах с UEFI Secure Boot. В ветку 11-CURRENT добавлена новая утилита uefisign для формирования цифровых подписей для файлов EFI. Остальные утилиты размещены в портах sysutils/pesign, sysutils/sbsigntool и sysutils/shim. Подготовлен прототип патча для использования Secure Boot shim в загрузчике boot1.
- В рамках проекта Nested Kernel для FreeBSD развивается реализация новой системной архитектуры, подразумевающей запуск отдельного небольшого вложенного изолированного ядра помимо основного монолитного ядра. Вложенное ядро берёт на себя все операции с обновлением таблиц трансляции виртуальной памяти, обеспечивая защиту основного ядра от полной компрометации в случае атаки (вложенное ядро инициализирует систему, так что все страниц памяти становятся отражены в режиме только для чтения, все страницы с кодом защищены от записи, а все страницы с данными защищены от запуска). С точки зрения производительности подобный поход приводит к накладным расходам, которые оцениваются для http-сервера apache в 1%, для sshd - в 3.7%, для компиляции ядра - 2.7%.
- Продолжается работа по улучшению реализации гипервизора BHyVe, изначально разработанного компанией NetApp и поставляемого в базовом составе FreeBSD 10. Работа сосредоточена на обеспечении поддержки новых типов гостевых систем и доведении функциональности до других гипервизоров. В настоящее время поддерживается создание хост-систем на базе платформы FreeBSD/AMD64 и запуск в гостевых системах FreeBSD, Linux i386/x64, OpenBSD i386/amd64 и NetBSD/amd64. Из последних достижений отмечается поддержка неблокирующего VCPU асинхронного ввода/вывода в драйвере virtio-blk, возможность параллельной обработки запросов в устройствах virtio-blk и ahci-hd, поддержка операции TRIM в ahci-hd.
Из задач на будущее выделяются: развитие инструментария bhyveucl, поддержка virtio-scsi, создание гибких сетевых бэкендов, таких как wanproxy и vhost-net, объединение процессов bhyveload и bhyve, возможность запуска bhyve без прав root, фильтры для образов виртуальных машин VMDK, VHD и QCOW2, абстрактная прослойка для видео, не привязанная к X11 или SDL, поддержка спящего режима, Live-миграция, вложенный запуск виртуальных машин, поддержка архитектур ARM, MIPS и PPC.
- Подготовлен новый патч с улучшенной реализацией технологии ASLR (Address space layout randomization) для защиты от некоторых видов атак, манипулирующих переполнением буфера. Новый патч отличается более высокой надёжностью и уже опробован проектом HardenedBSD в промышленной эксплуатации. В качестве следующего шага намечена компиляция приложений и библиотек базовой системы в формате PIE (Position-Independent Executables), который необходим для эффективной работы ASLR.
- Сетевая подсистема
- Подготовлена новая версия патчей с реализацией расширения Multipath TCP (MPTCP), позволяющего организовать доставку пакетов одновременно по нескольким маршрутам через разные сетевые интерфейсы, привязанные к разным IP-адресам. Целью проекта является подготовка MPTCP-патчей для ядра FreeBSD, совместимых с эталонной реализацией MPTCP и дополнительными улучшениями. Новая версия патчей отличается полностью переработанной архитектурой, пригодностью установки соединений по нескольким каналам связи и поддержкой повторной передачи на уровне данных (data-level re-transmission).
- В рамках проекта "opaque ifnet" совместно с компанией Netflix развивается новый программный интерфейс ядра (KPI) для сетевых драйверов, который позволит развивать сетевой стек без нарушения совместимости с уже существующими драйверами. Основная идея нового интерфейса в скрытии от драйвера структуры ifnet, позволяя не заботиться о составе данной структуры.
- Для iSER Initiator, развиваемого в рамках нового нативного стека iSCSI, подготовлена начальная поддержка iSCSI-расширений для RDMA (Remote Direct Memory Access), используемых в продуктах компании Mellanox. Данные расширения предоставляют доступ к средствам аппаратного ускорения перемещения данных, присутствующих в 10, 40, 56 и 100 gigabit IB/Ethernet адаптерах Mellanox.
- Системы хранения и файловые системы
- Разработка реализации файловой системы autofs и связанного с ней демона automountd для организации автоматического монтирования ФС при попытке обращения к связанным с ними разделам, после включения в состав FreeBSD 10.1 в основном перешла на стадию оптимизации и устранения ошибок. При этом отмечается и появление новшеств, таких как дополнительная привязка "-media", предназначенная для обработки внешних накопителей, таких как Flash и DVD, а также средства для её поддержки в сопутствующих подсистемах, таких как fstyp и GEOM devd. Кроме того, добавлена привязка "-noauto" для типового автоматического монтирования ФС, помеченных флагом "noauto" в fstab, без необходимости написания отдельных правил autofs.
- Поддержка оборудования
- Представлен CheriBSD, ответвление от FreeBSD для исследовательских процессоров CHERI (Capability Hardware Enhanced RISC Instructions). В рамках проекта CheriBSD ведётся работа по адаптации ядра FreeBSD и пользовательского окружения для использование развиваемой в CHERI системы управления доступом к памяти, основывающейся на модели проекта Capsicum.
- Реализована, но ещё требует тестирования, начальная поддержка горячего подключения устройств PCI Express (PCIe), которая позволит на лету при работе системы извлекать и подключать периферийные устройства с интерфейсом PCIe (например, подключение адаптеров Gigabit Ethernet и eSATA через слоты ExpressCard и Thunderbolt на ноутбуках).
- Продолжается портирование FreeBSD для процессоров POWER8. Для экспериментов проект FreeBSD получил сервер GN70-BP010 POWER8. Добавлена поддержка инструкций VSX (Vector-Scalar Extensions);
- Проведение работы по обеспечению поддержки расширений современных платформ x86, таких как x2APIC и VT-d IR.
- Добавлена поддержка новых ARM-плат Amlogic SoC aml8726-m6 и aml8726-m8b;
- Отмечен значительный прогресс в реализации поддержки 64-разрядной архитектуры ARM64 (AARCH64). Во FreeBSD-HEAD уже приняты прошедшие рецензирование изменения, которых достаточно для работы под управлением эмуляторов QEMU и ARM Foundation Model. В качестве эталонной аппаратной платформы, для тестирования FreeBSD/ARM64 используется плата Cavium ThunderX.
- Приложения и система портов
- Дерево портов FreeBSD держится на уровне 25 тысяч портов, число незакрытых PR достигло отметки в 1500. За отчётный период закрыто около 2 тысяч PR и внесено приблизительно 7 тысяч изменений.
- Продолжена работа по чистке и упрощению сопровождения портов, связанных с языком программирования Python (lang/python*). Обновлены версии CPython (2.7.9 и 3.4.3), фреймворк Twisted обновлён до выпуска 15.0.0.
- Окружение GNOME обновлено до выпуска 3.14, а окружение Cinnamon до выпуска 2.4. Ведётся работа по портированию GNOME 3.16 и рабочего стола MATE 1.10, релиз которого ожидается в ближайшем будущем.
- Началась работа по портированию libinput и тестированию Wayland. Поддержка Wayland в портах ожидается после прекращения времени жизни ветки FreeBSD 8.4;
- Проведена адаптация новых версий десктоп-оболочки KDE и фреймворка Qt для FreeBSD. В порты помещены релизы 4.14.3, Qt 5.4.1, Calligra 2.9.1 (в area51), CMake 3.1.0, 3.1.1, 3.1.3, DigiKam 4.2.0, 4.8.0 (в area51), PyQt 4.11.3 + QScintilla 2.8.4 + sip 4.16.5, sip 4.16.7 (в area51). В репозиторий area51 началось добавление компонентов KDE Frameworks 5;
- Обновлён графический стек. В портах libglapi, libGL, libEGL, libglesv2, gbm и dri задействован новый выпуск Mesa 10.4.x. Проходят тестирования порты с Mesa 10.5 и xorg-server 1.17. Добавлен новый порт drm-kmod, предоставляющий новые версии драйверов drm2, i915kms и radeonkms для FreeBSD 9.3-RELEASE и 9.3-STABLE. DRM-компоненты и драйвер i915kms синхронизированы с ядром Linux 3.8.
- Порт с Wine, открытой реализации Win32 API, обновлён до выпуска 1.6.2 (emulators/i386-wine), также доступен порт с экспериментальным выпуском 1.7.39 (emulators/i386-wine-devel). В порт i386-wine-devel добавлена поддержка V4L, сборки с расширением X composite и Wine64, позволяющего запускать 64-разрядные приложения Windows.
- В порты добавлено десктоп-окружение Xfce 4.12, а также обновлены версии связанных с Xfce приложений, таких как x11-fm/thunar 1.6.6.
Подробнее: http://citforum.ru/news/33747/
Дайджест новых статей по интернет-маркетингу на ваш email
Новые статьи и публикации
- 2024-03-13 » Стратегии SEO на 2024 год
- 2024-03-13 » Как использовать анимацию с помощью JavaScript-библиотеки GSAP
- 2024-03-13 » Использование GSAP 3 для веб-анимации
- 2024-03-13 » Cогласование топографической съёмки с эксплуатирующими организациями
- 2024-02-19 » Теряются лиды? Как настроить сквозную аналитику
- 2024-02-17 » Мерч и IT: на что обратить внимание в 2024 году
- 2024-02-16 » Копируем с RSync: основные примеры синхронизации файлов
- 2024-02-15 » Лучшие noCode AI платформы для создания диалоговых ботов
- 2024-02-14 » Факторы ранжирования Google 2024 — исследование Semrush
- 2024-02-12 » Перенос сайта на другой хостинг
- 2024-02-05 » В России сформирован реестр хостинг-провайдеров
- 2024-02-04 » Использование SSH для подключения к удаленному серверу Ubuntu
- 2024-02-03 » Подключаемся к серверу за NAT при помощи туннеля SSH. Простая и понятная инструкция
- 2024-02-02 » Настройка CI/CD для Gitlab-репозитория: схемы и гайд по шагам
- 2024-02-01 » GitLab CI Pipeline. Запуск сценария через SSH на удаленном сервере
- 2024-01-29 » Introduction to GitLab’s CI/CD for Continuous Deployments
- 2024-01-26 » Настройка GitLab CI/CD
- 2024-01-25 » Установка shell gitlab runner
- 2024-01-25 » Установка и регистрация gitlab-runner в docker контейнере
- 2024-01-25 » Переменные Gitlab-Ci
- 2024-01-25 » Настройка CI/CD в GitLab для синхронизации проекта с веб-серверами
- 2024-01-25 » Копирование файлов scp
- 2024-01-21 » Бездепозитные бонусы от казино: обзор условий и правил использования
- 2024-01-18 » Современная обработка ошибок в PHP
- 2024-01-18 » Пример шаблона проектирования MVC в PHP
- 2024-01-18 » Мифический человеко-DevOps
- 2023-12-28 » Google подвел итоги 2023 года в поиске
- 2023-12-28 » 5 ошибок отдела продаж, из-за которых вы теряете клиентов
- 2023-12-28 » Американский суд признал монополию Google на рынках дистрибуции Android-приложений
- 2023-12-28 » Хостинг-провайдер GoDaddy перестанет оказывать услуги пользователям из России
Секрет быть несчастным: иметь время занудствовать на тему, счастлив ты или нет Шоу Джордж Бернард - (1856-1950) - английский писатель. В своем творчестве ниспровергал догматизм и предвзятость, традиционность представлений |
Мы создаем сайты, которые работают! Профессионально обслуживаем и продвигаем их , а также по всей России и ближнему зарубежью с 2006 года!
Как мы работаем
Заявка
Позвоните или оставьте заявку на сайте.
Консультация
Обсуждаем что именно Вам нужно и помогаем определить как это лучше сделать!
Договор
Заключаем договор на оказание услуг, в котором прописаны условия и обязанности обеих сторон.
Выполнение работ
Непосредственно оказание требующихся услуг и работ по вашему заданию.
Поддержка
Сдача выполненых работ, последующие корректировки и поддержка при необходимости.