Развитие экосистемы кроссплатформенной разработки ПО для QP ОС (Михаил Орлов, OSDAY-2025)

Материал из 0x1.tv

(перенаправлено с «20250619I»)
Докладчик
Михаил Орлов.jpg
Михаил Орлов
  • Создание экосистемы разработки для защищенной ОС QP ОС
  • Портирование open-source ПО с соблюдением стандартов РБПО
  • Обеспечение кроссплатформенной разработки и кросс-компиляции
  • Соответствие нормативным требованиям информационной безопасности

Реализованные компоненты:

  • Инфраструктура:
    • Ядро: LLVM (25k+ правок), CMake (8k+ изменений), Ninja
    • Драйвер компилятора: clang-qp для QP ОС
    • Поддержка Python: интерпретатор + QPyPi (200+ пакетов)
    • Система сборки Meson (для PostgreSQL 17)
    • Адаптированный git (на libgit2)
  • Кроссплатформенность:
    • Поддержка архитектур: x86, x64, Arm32, Arm64
    • Кросс-компиляция: Linux/Windows → QP ОС и QP ОС → Linux
    • Toolchain-файлы для автоматизации сборки
    • Виртуальная ФС для регистрозависимых систем

Дальнейшие шаги:

  • Портирование менеджера зависимостей Conan (C/C++)
  • Разработка интегрированной среды разработки (IDE) для QP ОС
  • Доводка компонентов LLVM до полного соответствия стандартам РБПО
  • Интеграция обновлений и новых функций в экосистему

Видео

on youtube

Thesis

Актуальность

Актуальность работы обусловлена необходимостью создания экосистемы разработки для отечественной ОС QP ОС, отвечающей требованиям:

  • Портирование существующего open-source ПО
  • Соответствие нормативно-правовым и нормативно-техническим требованиям РБПО (разработка безопасного ПО)
  • Противодействие угрозам информационной безопасности
  • Обеспечение соответствия национальным стандартам

Состав инфраструктуры разработки

Сформирована инфраструктура полного цикла разработки для QP ОС на базе:

  • Ядро экосистемы: LLVM, CMake, Ninja
  • Дополнительно: система сборки Meson (для проектов типа PostgreSQL)
  • Система контроля версий: адаптированный git (на базе libgit2)
  • Поддержка Python: портированный интерпретатор + локальный репозиторий QPyPi (200+ пакетов)

Ключевые возможности:

  • Переносимость решений
  • Сборка внутри QP ОС и кросскомпиляция с/на другие ОС
  • Ускоренная адаптация ПО для защищенной среды

Инфраструктура LLVM

Портирование потребовало:

  • 25 000+ изменений в исходном коде LLVM
  • Разработка специализированного драйвера clang-qp
  • Инструменты для кросскомпиляции: Linux/WindowsQP ОС и QP ОСLinux
  • Автоматизированные сценарии сборки пакетов

Средство автоматизации сборки CMake

Особенности портирования:

  • 8 000+ изменений в исходном коде
  • Поддержка платформы QP ОС
  • Сценарии кросс-компиляции
  • Частичное соответствие стандартам РБПО

Система сборки Ninja

Ключевые доработки:

  • 300+ изменений в базовой версии
  • Работоспособность в среде QP ОС
  • Интеграция как основной системы сборки для CMake

Интерпретатор Python в QP ОС

Реализовано:

  • Поддержка 200+ пакетов Python
  • Интерактивная отладка в QP ОС
  • Эмуляция среды разработки в Windows
  • Интеграция Meson с поддержкой триплетов QP ОС
  • Практическое применение: сборка PostgreSQL 17

Драйвер компилятора clang-qp

Функциональность:

  • Связующее звено между LLVM и QP ОС
  • Расширенный набор параметров для QP ОС
  • Автоматическое определение окружения сборки
  • Упрощенная кросскомпиляция исполняемых файлов

Кроссплатформенная разработка для QP ОС

Достигнуто:

  • Поддержка триплетов для аппаратных платформ: x86, x64, Arm32, Arm64
  • Разработка toolchain-файла для:
    • Создания виртуальной ФС (регистронезависимые → регистрозависимые системы)
    • Автоматической настройки параметров компиляции
    • Подключения инструментов разработки под QP ОС
  • Возможность портирования ПО на C/C++ со сторонних платформ
  • Кросскомпиляция из QP ОС в Linux

Следующие шаги

  • Портирование менеджера зависимостей Conan для C/C++
  • Реализация интегрированной среды разработки (IDE) в QP ОС
  • Доработка компонентов LLVM для полного соответствия стандартам РБПО
  • Интеграция обновлений и новых функций в экосистему

Презентация

Развитие экосистемы кроссплатформенной разработки ПО для QP ОС (Михаил Орлов, OSDAY-2025).pdf Развитие экосистемы кроссплатформенной разработки ПО для QP ОС (Михаил Орлов, OSDAY-2025).pdf Развитие экосистемы кроссплатформенной разработки ПО для QP ОС (Михаил Орлов, OSDAY-2025).pdf Развитие экосистемы кроссплатформенной разработки ПО для QP ОС (Михаил Орлов, OSDAY-2025).pdf Развитие экосистемы кроссплатформенной разработки ПО для QP ОС (Михаил Орлов, OSDAY-2025).pdf Развитие экосистемы кроссплатформенной разработки ПО для QP ОС (Михаил Орлов, OSDAY-2025).pdf Развитие экосистемы кроссплатформенной разработки ПО для QP ОС (Михаил Орлов, OSDAY-2025).pdf Развитие экосистемы кроссплатформенной разработки ПО для QP ОС (Михаил Орлов, OSDAY-2025).pdf Развитие экосистемы кроссплатформенной разработки ПО для QP ОС (Михаил Орлов, OSDAY-2025).pdf Развитие экосистемы кроссплатформенной разработки ПО для QP ОС (Михаил Орлов, OSDAY-2025).pdf Развитие экосистемы кроссплатформенной разработки ПО для QP ОС (Михаил Орлов, OSDAY-2025).pdf Развитие экосистемы кроссплатформенной разработки ПО для QP ОС (Михаил Орлов, OSDAY-2025).pdf Развитие экосистемы кроссплатформенной разработки ПО для QP ОС (Михаил Орлов, OSDAY-2025).pdf Развитие экосистемы кроссплатформенной разработки ПО для QP ОС (Михаил Орлов, OSDAY-2025).pdf Развитие экосистемы кроссплатформенной разработки ПО для QP ОС (Михаил Орлов, OSDAY-2025).pdf Развитие экосистемы кроссплатформенной разработки ПО для QP ОС (Михаил Орлов, OSDAY-2025).pdf Развитие экосистемы кроссплатформенной разработки ПО для QP ОС (Михаил Орлов, OSDAY-2025).pdf Развитие экосистемы кроссплатформенной разработки ПО для QP ОС (Михаил Орлов, OSDAY-2025).pdf
Развитие экосистемы кроссплатформенной разработки ПО для QP ОС (Михаил Орлов, OSDAY-2025)!.jpg

Примечания и ссылки