HMOS Architecture

In my previous article about I had covered about Harmony OS, features and how it is the technology of the future, now we will see the beauty of the HMOS architecture.

I think it is always good a have a clear understanding of the architecture before diving deep into the technology, features or its usage.

Below is the HMOS architecture

HarmonyOS contains of four layers.

  • Kernel Layer
  • System Service Layer
  • Framework Layer
  • Application Layer

Kernel Layer

We know that a Kernel is the Foundational Layer of an operating system (OS. It functions at a basic level, communicating with hardware and managing resources, such as RAM and the CPU.

Kernel Layer

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.

HarmonyOS 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

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

System Service Layer

Implements distributed application running, scheduling, and migration across HarmonyOS devices.

  • Distributed Scheduler
  • Distributed Data Management
  • Distributed Virtual Bus

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.

Basic Software Service

Basic Software Service

Provides HarmonyOS with common and universal software services, including common event, notification, telephony, multimedia, Design for X(DFX), as well as Mobile sensing Development Platform (MSDP) & Device Virtualization (DV).

Enhanced Software Service

Enhanced Software Service

Provides HarmonyOS with differentiated and enhanced software service, including those dedicated to smart TV’s, wearables, IoT devices, and more.

Hardware Service

Hardware Service

Provides HarmonyOS with hardware services, including location, biometric recognition, as well as those dedicated to wearable 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 consists of system applications and third- party applications.

The Application layer is used by end user software such as web browsers and email clients. It provides protocols that allow software to send and receive information and present meaningful data to users.

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.

Applications developed based on FA’s and PA’s implement specific business characteristics and achieve cross- device scheduling and distributions, delighting users with consistent and efficient experience.

Application Layer

HarmonyOS, Huawei is not to compete with Android, however the OS is distributed with enhanced performed when compared to other. What makes HarmonyOS different is its Microkernel based setup with distributed setup. This makes HarmonyOS the one of the best solutions that technology has brought forward.

You can read more about HarmonyOS from the Official webpage.

--

--

Application Library Engineering Group
Application-Library-Engineering-Group

World’s Innovative open collaborate Platform, build reusable application components to reduce effort and fast track application development on multiplatform.