OpenHarmony

OpenHarmony — семейство свободных дистрибутивных операционных систем с открытым исходным кодом, основанных на HarmonyOS и производных от LiteOS. Исходный код веток L0-L2 был передан компанией Huawei в OpenAtom Foundation. OpenHarmony основана на многоуровневой архитектуре, включающей четыре уровня: ядро, слой системных сервисов, слой фреймворка и слой приложений. Система предназначена для работы на самом широком спектре устройств, от миниатюрных (с объёмом памяти от 128 КБ), например, принтеры, колонки и умные часы, до стандартных — с объёмом памяти более 128 МБ[5][6].

Система реализует многие базовые и расширенные возможности HarmonyOS, включая DSoftBus с распределённой виртуализацией устройств[7], что даёт преимущества по сравнению с традиционными гостевыми ОС для подключённых смарт-устройств[8]. OpenHarmony ориентирована на рынок IoT и встраиваемых устройств — от мобильных телефонов и планшетов до Smart TV, часов, ПК, домашних устройств и др[9].

Что важно знать
OpenHarmony
Изображение логотипа
Разработчик различные участники (OpenAtom Foundation, Huawei и др.)
Семейство ОС HarmonyOS, RTOS (на базе LiteOS)
Основана на LiteOS
Исходный код свободный, открытый
Первый выпуск 10 сентября 2020
Последняя версия
Последняя тестовая версия
Метод обновления обновления по воздуху (OTA)
Менеджеры пакетов .app
Поддерживаемые платформы ARM, RISC-V, IA-32, x86-64, LoongArch, LinxiISA[3]
Тип ядра мульти-ядерная архитектура: ядро Linux, LiteOS (LiteOS-A, LiteOS-M), UniProton RTOS ([микроядро]] и др. надстройки)[4]
Интерфейс дизайн HarmonyOS (адаптирован для OpenHarmony, мультитач и GUI)
Лицензия лицензия Apache
Состояние активно развиваемая
Репозиторий исходного кода gitee.com/openharmony
Предыдущая LiteOS
Веб-сайт openharmony.cn

История

Первая версия OpenHarmony была выпущена OpenAtom Foundation 10 сентября 2020 года после передачи исходного кода Huawei[10].

В декабре 2020 года OpenAtom Foundation и Runhe Software официально запустили проект OpenHarmony с участием семи организаций, включая Huawei и Институт программного обеспечения Китайской академии наук.

В июне 2021 года представлен OpenHarmony 2.0 (Canary), поддерживающий разнообразные смарт-устройства[10].

На основе предыдущих версий OpenAtom Foundation выпустил OpenHarmony 3.0 30 сентября 2021 года, в котором реализованы улучшенная поддержка файловой безопасности (конвертация файлов в URI), базовые возможности реляционных баз данных и управления распределёнными данными[11].

В апреле 2021 года вышел релиз OpenHarmony с поддержкой устройств c объёмом оперативной памяти до 4 ГБ[12].

10 августа 2022 года в систему ядер OpenHarmony был добавлен UniProton kernel — аппаратное микроядро реального времени[13].

Разработка

Основной средой разработки является DevEco Studio с полным набором инструментов SDK OpenHarmony, включая отладчик, систему тестирования DevEco Testing, репозиторий библиотек, эмулятор, просмотрщик, документацию и обучающие материалы.

Создание приложений для OpenHarmony базируется в основном на фреймворке ArkUI — декларативном UI-интерфейсе, адаптированном к различному оборудованию и поддерживающем автоматическое обновление интерфейсных компонентов[14].

Для разработки железа используют DevEco Device Tool. Для совместимости ABI между наборами команд и разными устройствами реализован слой ABI OpenHarmony[15]. Утилита HDC (Device Connector) используется для соединения и отладки устройств[16][17].

Приложения распространяются в формате .app (App Pack, HarmonyOS Ability Package — HAP), что повышает совместимость с разными ОС и платформами[18].

В системе для устройств с большим объёмом памяти используется ядро Linux, для малозатратных устройств — RTOS-ядро LiteOS или UniProton, также поддерживаются сторонние ядра и Kernel Abstraction Layer (KAL). Для работы с webview интегрируется движок ArkWeb на основе Chromium Embedded Framework, а ранее — Blink/Chromium[19].

В экосистеме OpenHarmony доступен общий репозиторий сторонних публичных библиотек, что минимизирует избыточность и фрагментацию по сравнению с Android[20]. Поддерживаются встроенные зависимости — Chromium, Unity, Unreal Engine.

Harmony Distributed File System (HMDFS) применяется для распределённого хранения и обработки данных; проект вдохновлён HDFS и используется также в openEuler[21].

Система управления токенами доступа (ATM) централизовано регулирует разрешения приложений — реализован гибрид RBAC и CBAC[22].

В ядре реализована библиотека musl libc, обеспечивается POSIX-совместимость как на стороне Linux-ядра, так и LiteOS[23].[24]

Набор инструментов OpenHarmony NDK даёт доступ к C/C++ на низком уровне[25]. Также поддерживаются сторонние пакеты типа Node.js, SDL, Qt, LLVM, FFmpeg[26][27].

Хронология

  • 10 сентября 2020 — первый выпуск OpenHarmony для устройств с 128 КБ – 128 МБ оперативной памяти
  • апрель 2021 — поддержка смартфонов и других устройств с 128 МБ – 4 ГБ оперативной памяти
  • октябрь 2021 — поддержка устройств с более чем 4 ГБ памяти

Аппаратная поддержка

OpenHarmony может быть установлена на устройства с архитектурами ARM, RISC-V и x86 с объёмом памяти от 128 КБ до более 1 МБ. Поддерживаются три типа систем:[28]

  • Мини-система — для модулей связи, сенсоров, носимых устройств, с памятью от 128 КБ, на базе ARM Cortex-M и 32-битных RISC-V.
  • Малая система — для IP-камер, маршрутизаторов и регистрационных устройств с памятью от 1 МБ на ARM Cortex-A.
  • Стандартная система — для устройств с 3D GPU, расширенной анимацией и компонентами, от 128 МБ памяти на ARM Cortex-A.

Сертификация совместимости

Для обеспечения совместимости устройств на базе OpenHarmony OpenAtom Foundation разработал спецификации совместимости и рабочую группу для сертификации[29][30].

Сертификации включают:

  1. Отладочные платы, модули, дистрибутивы
  2. Оборудование

На апрель 2022 года было выдано 44 сертификата совместимости[31].

Разработка программного обеспечения

С момента публикации исходного кода OpenHarmony в сентябре 2020 по декабрь 2021 года к проекту присоединилось более 1200 разработчиков и 40 организаций. Текущее основное развитие ведётся в рамках ветки 4.x.

История версий ПО
Версия Дата релиза Уровень API Ключевые возможности
1.0 10 сентября 2020 5 Первый релиз. Поддержка устройств с памятью 128 КБ – 128 МБ, основана на ядре LiteOS[32].
1.1.0 (LTS) 1 апреля 2021 5 Расширение подсистем, унификация фреймворка искусственного интеллекта[33].
2.0 (Canary) 2 июня 2021 6 Поддержка устройств с памятью более 128 МБ, появление ядра Linux в стандартной системе[34].
2.2 (Beta) 4 сентября 2021 6 Реализация типовых распределённых и медиавозможностей
3.0 (LTS) 30 сентября 2021 7 Новый функционал для лёгких, малых и стандартных систем
3.1 (Beta) 31 декабря 2021 8–9 Усиление системных, распределённых и прикладных фреймворков, поддержка 3D. OpenGL, OpenGL ES, WebGL[35].
3.2 Beta 1 31 мая 2022 8–9 Усиление базовых и фреймворковых возможностей стандартных систем
4.0 Beta 1 3 июня 2023 10 Улучшена поддержка стандартных систем, улучшения в ArkUI
4.0 релиз 26 октября 2023 10 Добавлено множество API ArkTS, расширена поддержка распределённого аппаратного обеспечения
4.1 Beta 1 31 декабря 2023 11 Улучшения архитектуры, оптимизации ArkUI, графический движок, новые аудио/камера драйверы, обновления CEF[36].[37]
4.1 релиз 30 марта 2024 11 Добавлено 4000 API, расширена поддержка Web, улучшена стабильность распределённых функций[38].[39]
4.1.1 релиз 23 мая 2024 11 Исправления и усиление стабильности LiteOS RTOS[40].
5.0 Beta 1 25 мая 2024 12 Новые API, доработка архитектуры платформы, улучшения ArkUI и поддержки мультимедиа[41].
5.0.0 релиз 29 сентября 2024 12 Новые стабильные API 12, расширение и более детальное управление жизненным циклом приложений, обогащение функций ArkUI, развитие защищённого раздельного доступа данных, улучшения в управлении задачами, пакетировании приложений, расширения безопасности[42].[43]

Дистрибутивы на базе OpenHarmony

OpenHarmony — один из самых активных open-source проектов на платформе Gitee. По состоянию на сентябрь 2023 года существует более 30 дистрибутивов OpenHarmony для различных отраслей экономики[44].

MineHarmony OS

14 сентября 2021 года Huawei представила коммерческий проприетарный дистрибутив MineHarmony OS, основанный на OpenHarmony для промышленного применения в угледобывающей промышленности[45].

Midea IoT OS

Midea в октябре 2021 года выпустила IoT-операционную систему на базе OpenHarmony 2.0 для своей бытовой электроники[46].

OpenHarmony in Space

6 января 2022 года был анонсирован проект OpenHarmony in Space (OHIS) для использования в спутниковых технологиях[47].

SwanLinkOS

В июне 2022 года компания Honghu Wanlian (дочерняя iSoftStone) выпустила для транспортной отрасли ОС SwanLinkOS на базе OpenHarmony[48].

ArcherMind HongZOS

7 ноября 2022 года ArcherMind представила ОС HongZOS на базе OpenHarmony для AIoT и промышленности[49].

Orange Pi OS (OHOS)

28 ноября 2022 года компания Orange Pi выпустила дистрибутив Orange Pi OS на базе OpenHarmony[50].

RobanTrust OS

23 декабря 2022 года был запущен RobanTrust OS на базе OpenHarmony[51].

KaihongOS

14 января 2023 года KaihongOS на базе OpenHarmony запущен в качестве дистрибутива для зарядных станций[52].

PolyOS Mobile

PolyOS Mobile — AI IoT-операционная система на базе OpenHarmony, релиз которой состоялся 30 августа 2023 года[53].

LightBeeOS

LightBeeOS запущена 28 сентября 2023 года — дистрибутив для финансовых и промышленных решений на базе OpenHarmony[54].

Примечания