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].
Сертификации включают:
- Отладочные платы, модули, дистрибутивы
- Оборудование
На апрель 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].
14 сентября 2021 года Huawei представила коммерческий проприетарный дистрибутив MineHarmony OS, основанный на OpenHarmony для промышленного применения в угледобывающей промышленности[45].
Midea в октябре 2021 года выпустила IoT-операционную систему на базе OpenHarmony 2.0 для своей бытовой электроники[46].
6 января 2022 года был анонсирован проект OpenHarmony in Space (OHIS) для использования в спутниковых технологиях[47].
В июне 2022 года компания Honghu Wanlian (дочерняя iSoftStone) выпустила для транспортной отрасли ОС SwanLinkOS на базе OpenHarmony[48].
7 ноября 2022 года ArcherMind представила ОС HongZOS на базе OpenHarmony для AIoT и промышленности[49].
28 ноября 2022 года компания Orange Pi выпустила дистрибутив Orange Pi OS на базе OpenHarmony[50].
23 декабря 2022 года был запущен RobanTrust OS на базе OpenHarmony[51].
14 января 2023 года KaihongOS на базе OpenHarmony запущен в качестве дистрибутива для зарядных станций[52].
PolyOS Mobile — AI IoT-операционная система на базе OpenHarmony, релиз которой состоялся 30 августа 2023 года[53].
LightBeeOS запущена 28 сентября 2023 года — дистрибутив для финансовых и промышленных решений на базе OpenHarmony[54].


