About HarmonyOS

System Positioning

HarmonyOS is an innovative, distributed operating system for a fully-connected world. Unlike a legacy operating system that runs on a standalone device, HarmonyOS is built with a distributed architecture that uses a same set of system capabilities to adapt to a wide array of device forms, ranging from phones and tablets to wearables, smart TVs, and head units.Play Video814
HarmonyOS has the following three outstanding features:Hardware collaboration and resource sharing: The devices running HarmonyOS are aggregated at the system layer to form a super device, allowing flexible scaling of device hardware capabilities.With the support of HarmonyOS, users can integrate capabilities of their various smart devices, implementing ultra-fast connection, capability collaboration, and resource sharing among them. This way, services can be seamlessly transferred to the most suitable device, delivering smooth all-scenario experience.One-time development for multi-device deployment: HarmonyOS allows you to develop your application once, and then deploy it across a broad range of devices.With its distributed technologies, HarmonyOS makes your application development possible on different device forms. It lets you focus on the upper-layer service logic and develop applications in a much easier and more efficient way.Unified OS for flexible deployment: HarmonyOS supports on-demand deployment for devices with different capabilities.Built with a component-based design, HarmonyOS is able to tailor itself to particular device forms based on their respective resource capabilities and service characteristics.HarmonyOS provides multi-programming-language APIs for you to develop applications. You can choose from Java, Extensible Markup Language (XML), C/C++, JavaScript (JS), Cascading Style Sheets (CSS), and HarmonyOS Markup Language (HML).

Technical Architecture

HarmonyOS is designed with a layered architecture, which from bottom to top consists of the kernel layer, system service layer, framework layer, and application layer. System functions are expanded by levels, from system to subsystem, and further to function/module. In multi-device deployment scenario, unnecessary subsystems, functions, or modules can be excluded from the system as required. The following shows the technical architecture of HarmonyOS.

Play Video724

Kernel Layer

  • Kernel subsystem: HarmonyOS uses a multi-kernel design so that appropriate OS kernels can be selected for devices with different resource limitations. The kernel abstraction layer (KAL) shields differences in kernel implementations and provides the upper layer with basic kernel capabilities, including process and thread management, memory management, file system, network management, and peripheral management.
  • Driver subsystem: Hardware Driver Foundation (HDF) lays the foundation for an open HarmonyOS hardware ecosystem. It allows unified access from peripheral devices and provides foundation for driver development and management.

System Service Layer

This layer provides a complete set of capabilities essential for HarmonyOS to offer services for applications through the framework layer. The system service layer consists of the following parts:

  • Basic system capability subsystem set: Implements distributed application running, scheduling, and migration across HarmonyOS devices. This subsystem set provides the following basic capabilities: DSoftBus, distributed data management, distributed scheduler, Ark multi-language runtime, utils, multimodal input, graphics, security, and AI. Among them, the Ark runtime leverages the C, C++, and JS runtimes and provides basic system class libraries. It also provides the runtime required for Java programs statically compiled by the Ark compiler. (Java programs refer to the part of the application or framework layer program that is developed using Java.)
  • Basic software service subsystem set: Provides HarmonyOS with common and universal software services, including common event and notification, telephony, multimedia, Design For X (DFX), as well as Mobile Sensing Development Platform (MSDP) & Device Virtualization (DV).
  • Enhanced software service subsystem set: Provides HarmonyOS with differentiated and enhanced software services, including those dedicated to smart TVs, wearables, IoT devices, and more.
  • Hardware service subsystem set: Provides HarmonyOS with hardware services, including location, biometric recognition, as well as those dedicated to wearables and IoT devices.

The basic software service, enhanced software service, and hardware service subsystem sets can be tailored by subsystems, and each subsystem can be tailored by functions, depending on the deployment scenario for a particular device form.

Framework Layer

This layer provides what you need to develop HarmonyOS applications: application framework and ability framework, specific to multiple languages (like Java, C, C++, and JS), Java and JS UI frameworks, as well as multi-language APIs for hardware and software services. The APIs available for different HarmonyOS devices vary according to component-based tailoring.

Application Layer

This layer consists of system applications and third-party applications. Each HarmonyOS application is powered by one or more Feature Abilities (FAs) or Particle Abilities (PAs). An FA provides a UI for user interaction. A PA has no UI and provides background task processing as well as data access. During user interaction, FAs may need to retrieve background data from PAs. Applications developed based on FAs and PAs implement specific business characteristics and achieve cross-device scheduling and distribution, delighting users with consistent and efficient experience.

source : https://developer.harmonyos.com/en/docs/documentation/doc-guides/harmonyos-overview-0000000000011903