Компания Huawei опубликовала бета-версию редакции операционной системы HarmonyOS 2.0 для смартфонов и планшетов, развиваемой в качестве альтернативы платформам Android и Fuchsia. Сборки подготовлены для смартфонов Huawei P40, P40 Pro, Mate30 и Mate30 Pro, а также для планшета MatePad Pro. Пользовательский интерфейс основан на оболочке EMUI 11, которая также используется в устройствах Huawei на базе платформы Android. Первые смартфоны на базе новой ОС планируется выпустить в продажу в октябре 2021 года.

Напомним, что проект Harmony находится в разработке начиная с 2017 года и представляет собой микроядерную операционную систему. Наработки проекта по мере готовности публикуются под лицензией BSD в рамках проекта OpenHarmony, который курирует некоммерческая организация China Open Atomic Open Source Foundation. Особенности Harmony:

  • Ядро системы верифицировано на уровне формальной логики/математики для минимизации риска появления уязвимостей. Верификация проведена с использованием методов, которые обычно используются при разработке критически важных систем в таких областях, как авиация и космонавтика, и позволяют добиться соответствия уровню защищённости EAL 5+.
  • Микроядро изолированно от внешних устройств. Система отделена от оборудования и даёт возможность разработчикам создавать приложения, которые можно использовать на различных категориях устройств без создания отдельных пакетов.
  • Микроядро реализует только планировщик и IPC, а всё остальное вынесено в системные сервисы, большая часть которых выполняется в пространстве пользователя.
  • В качестве планировщика задач предлагается минимизирующий задержки детерминистический движок распределения ресурсов (Deterministic Latency Engine), анализирующий нагрузку в режиме реального времени и использующий методы предсказания поведения приложений. По сравнению с другими системами планировщик позволяет добиться сокращения задержек на 25.7% и снизить флуктуации задержек на 55.6%.
  • Для обеспечения связи между микроядром и внешними сервисами ядра, такими как ФС, сетевой стек, драйверы и подсистема запуска приложений, применяется IPC, который по заявлениям компании работает в пять раз быстрее, чем IPC в Zircon, и в три раза быстрее, чем IPC в QNX.
  • Вместо обычно применяемого четырёхуровневого стека протоколов для уменьшения накладных расходов в Harmony задействована упрощённая одноуровневая модель на основе распределённой виртуальной шины, обеспечивающей взаимодействие с оборудованием, таким как экраны, камеры, звуковые платы и т.п.
  • В системе не предоставляется доступ пользователей на уровне root (нет штатного глобального суперпользователя, но есть привилегированные системные процессы). Для доступа к привилегированным операциям используются выборочное предоставление прав на основе capability в привязке к идентификаторам процессов. Для пользовательских приложений также требуется получение отдельных полномочий для доступа к камере и микрофону.
  • Для сборки приложения применяется собственный компилятор Arc, который поддерживает код на языках C, C++, Java, JavaScript и Kotlin.
  • Для создания приложений для различных классов устройств, таких как телевизоры, смартфоны, умные часы, автомобильные информационные системы и т.п, будет предоставлен собственный универсальный фреймворк для разработки интерфейсов и SDK с интегрированной средой разработки. Инструментарий позволит автоматически адаптировать приложения для разных экранов, элементов управления и методов взаимодействия с пользователем. Также упоминается предоставление инструментов для адаптации для Harmony существующих Android-приложений с минимальными изменениями.