This article was nominated for deletion. The discussion was closed on 31 July 2024 with a consensus to merge the content into the article HarmonyOS NEXT . If you find that such action has not been taken promptly, please consider assisting in the merger instead of re-nominating the article for deletion. To discuss the merger, please use the destination article's talk page.(July 2024) |
This article has multiple issues. Please help improve it or discuss these issues on the talk page . (Learn how and when to remove these messages)
|
Developer | Huawei |
---|---|
Written in | C |
OS family | OpenHarmony |
Working state | Current |
Source model | Closed, with open source components |
Initial release | August 4, 2023 |
Latest release | 1.9.3.B010 / October 23, 2024 |
Platforms | Current: ARM64 |
Kernel type | Microkernel |
License | Commercial software, Proprietary software except for open-source components |
Preceded by | OpenHarmony ChCore (Monolithic) kernel, LiteOS (RTOS) kernel |
HarmonyOS Kernel (HongMeng Kernel), sometimes referred to as the Harmony kernel, is a computer operating system (OS) kernel developed by Huawei since August 2023. It is used in the HarmonyOS 5 version of the proprietary HarmonyOS distributed operating system, replacing previous versions that utilized the AOSP compatibility layer, the Linux kernel, and the LiteOS kernel. [1] [2]
The HarmonyOS Kernel utilizes a microkernel architecture, which aims to improve security and performance by isolating critical components of the system.
HarmonyOS kernel is a microkernel at rich executed environment level for software outside hardware-based HarmonyOS TEE kernel, called tee_OS, enabling greater modularity and larger portions of the OS to benefit from memory protection at kernel mode. While retaining the speed of monolithic mainline Linux kernel compatibility subsystem of modular OpenHarmony standard system within its kernel abstraction layer as compatibility layer with POSIX APIs and third-party musl-libc integrated support for bigger advanced devices for some critical tasks at user mode of HarmonyOS operating system commercial distro. The kernel has Linux ABI compatibility by placing an ABI-compatible shim in IC0 (kernel space) with support for OpenHarmony and AOSP complex framework hardware migration deployments, which redirects Linux system calls to IPC and serves as a central repository for global state. The kernel also reuses Linux drivers through driver containers, which balances between compatibility and critical path performance, while having control plane and data plane separation to improve performance. HarmonyOS kernel capabilities in context switching, network, application startup time, load, frame loss, interrupt latency, etc., and also performance optimised in smart routers and smart vehicles with real time capabilities functions. [3] [4]
As of October 23,2024 [update] , HarmonyOS kernel runs on ARM64 devices on HarmonyOS 5.0.0 Release (Beta) version with current version 1.9.3.B010. [5]
HarmonyOS kernel offers core capabilities and security benefits to the upper layers, including process and thread management, memory management, file system management, network management and Peripheral management. Alongside, HarmonyOS kernel, the integrated Hardware Driver Foundation (HDF) underpins an open hardware ecosystem for HarmonyOS. It standardizes peripheral device access and streamlines I/O driver development and management. Other layers of the multi-layered operating system of OpenHarmony-based HarmonyOS that sits on top of HarmonyOS kernel includes the middle System Service Layer where the system service layer provides essential services enabling the framework layer to support application functionalities. It consists of several subsystems such as the Basic System Capability Subsystem set ensures seamless distributed operation across OpenHarmony devices by handling, Distributed app execution, Scheduling and migration, Core capabilities like Distributed Soft Bus (DSoftBus) around the Distributed Virtual framework across devices with distributed data management, Distributed Scheduler, Utilities, multimodal input, graphics, security, and AI. Also, Basic Software Service Subsystem Set: These subsystems offer universal software services such as for Common events and notifications, Telephony services, Multimedia handling and Design For X (DFX). Then, Enhanced Software Service Subsystem Set where these subsystems deliver specialized software services tailored for various device types, including Smart TVs, Wearables, IoT devices, personal computers, smartphones, smart car displays and other types of devices. Hardware Service Subsystem set provides hardware-related services such as, Location services, Identity and Access Management (IAM) and Services specific to wearables and IoT devices. These subsystems within the basic software, enhanced software, and hardware service sets can be adapted and extended to fit the deployment scenarios of different device forms. The framework layer equips developers with tools to create HarmonyOS applications. The core of the kernel is written primarily in a confined subset of C language. It includes, Application framework and ability framework, supporting multiple programming languages (e.g., C, C++, JS, ArkTS, Cangjie), ArkUI framework for user interface development, Multi-language APIs for integrating hardware and software services. These APIs can be customized to meet the requirements of different system components and devices. This upper level layer houses both system and third-party applications. Each native HarmonyOS HAP app that are interoperability with OpenHarmony user mode, utilizes one or more types of abilities: such as Feature Abilities (FAs) Provide user interfaces for interactive functionalities and Particle Abilities (PAs): Operate without a user interface, focusing on background processes and data access. Applications leveraging FAs and PAs offer distinct service features and enable cross-device scheduling and distribution, ensuring a consistent and efficient user experience. [6]
The kernel features Address tokens that connects the Access token manager that is an essential component in OpenHarmony-based distributed operating systems, responsible for unified app permission management based on access tokens. Access tokens serve as identifiers for apps, containing information such as app ID, user ID, app privilege level (APL), and app permissions. By default, apps can access limited system resources. ATM ensures controlled access to sensitive functionalities which combines both RBAC and CBAC models as a hybrid ACL model. [7] [8]
Performance and Compatibility in the HongMeng Production Microkernel from the original on June 21, 2024. Retrieved July 10, 2024. [9]
In the context of an operating system, a device driver is a computer program that operates or controls a particular type of device that is attached to a computer or automaton. A driver provides a software interface to hardware devices, enabling operating systems and other computer programs to access hardware functions without needing to know precise details about the hardware being used.
An operating system (OS) is system software that manages computer hardware and software resources, and provides common services for computer programs.
UNICOS is a range of Unix and later Linux operating system (OS) variants developed by Cray for its supercomputers. UNICOS is the successor of the Cray Operating System (COS). It provides network clustering and source code compatibility layers for some other Unixes. UNICOS was originally introduced in 1985 with the Cray-2 system and later ported to other Cray models. The original UNICOS was based on UNIX System V Release 2, and had many Berkeley Software Distribution (BSD) features added to it.
QNX is a commercial Unix-like real-time operating system, aimed primarily at the embedded systems market.
In computing, cross-platform software is computer software that is designed to work in several computing platforms. Some cross-platform software requires a separate build for each platform, but some can be directly run on any platform without special preparation, being written in an interpreted language or compiled to portable bytecode for which the interpreters or run-time packages are common or standard components of all supported platforms.
A computing platform, digital platform, or software platform is the infrastructure on which software is executed. While the individual components of a computing platform may be obfuscated under layers of abstraction, the summation of the required components comprise the computing platform.
In software engineering, a compatibility layer is an interface that allows binaries for a legacy or foreign system to run on a host system. This translates system calls for the foreign system into native system calls for the host system. With some libraries for the foreign system, this will often be sufficient to run foreign binaries on the host system. A hardware compatibility layer consists of tools that allow hardware emulation.
Workplace OS is IBM's ultimate operating system prototype of the 1990s. It is the product of an exploratory research program in 1991 which yielded a design called the Grand Unifying Theory of Systems (GUTS), proposing to unify the world's systems as generalized "personalities" cohabitating concurrently upon a universally sophisticated platform of object-oriented frameworks upon one microkernel. Using personalities, a single machine would be able to run applications from multiple conventional operating systems like Unix or OS/2.
The architecture of Windows NT, a line of operating systems produced and sold by Microsoft, is a layered design that consists of two main components, user mode and kernel mode. It is a preemptive, reentrant multitasking operating system, which has been designed to work with uniprocessor and symmetrical multiprocessor (SMP)-based computers. To process input/output (I/O) requests, it uses packet-driven I/O, which utilizes I/O request packets (IRPs) and asynchronous I/O. Starting with Windows XP, Microsoft began making 64-bit versions of Windows available; before this, there were only 32-bit versions of these operating systems.
The Android Package with the file extension apk is the file format used by the Android operating system, and a number of other Android-based operating systems for distribution and installation of mobile apps, mobile games and middleware. A file using this format can be built from source code written in either Java or Kotlin.
The kernel is a computer program at the core of a computer's operating system and generally has complete control over everything in the system. The kernel is also responsible for preventing and mitigating conflicts between different processes. It is the portion of the operating system code that is always resident in memory and facilitates interactions between hardware and software components. A full kernel controls all hardware resources via device drivers, arbitrates conflicts between processes concerning such resources, and optimizes the utilization of common resources e.g. CPU & cache usage, file systems, and network sockets. On most systems, the kernel is one of the first programs loaded on startup. It handles the rest of the startup as well as memory, peripherals, and input/output (I/O) requests from software, translating them into data-processing instructions for the central processing unit.
Longene is a Linux-based operating system kernel intended to be binary compatible with application software and device drivers made for Microsoft Windows and Linux. As of 1.0-rc2, it consists of a Linux kernel module implementing aspects of the Windows kernel and a modified Wine distribution designed to take advantage of the more native interface. Longene is written in the C programming language and is free and open source software. It is licensed under the terms of the GNU General Public License version 2 (GPLv2).
Windows Subsystem for Linux (WSL) is a feature of Microsoft Windows that allows developers to run a Linux environment without the need for a separate virtual machine or dual booting. There are two versions of WSL: WSL 1 and WSL 2. WSL is not available to all Windows 10 users by default. It can be installed either by joining the Windows Insider program or manually via Microsoft Store or Winget.
EMUI is an interface based on Android developed by Chinese technology company Huawei, used on the company's smartphones primarily globally.
Genode is a free and open-source software operating system (OS) framework consisting of a microkernel abstraction layer and a set of user space components. The framework is notable as one of the few open-source operating systems not derived from a proprietary OS, such as Unix. The characteristic design philosophy is that a small trusted computing base is of primary concern in a security-oriented OS.
HarmonyOS (HMOS) is a distributed operating system developed by Huawei for smartphones, tablets, smart TVs, smart watches, personal computers and other smart devices. It has a microkernel design with single framework: the operating system selects suitable kernels from the abstraction layer in the case of devices that use diverse resources.
The version history of the HarmonyOS distributed operating system began with the public release of the HarmonyOS 1.0 for Honor Vision smart TVs on August 9, 2019. The first expanded commercial version of the Embedded, IoT AI, Edge computing based operating system, HarmonyOS 2.0, was released on June 2, 2021, for phones, tablets, smartwatches, smart speakers, routers, and internet of things. Beforehand, DevEco Studio, the HarmonyOS app development IDE, was released in September 2020 together with the HarmonyOS 2.0 Beta. HarmonyOS is developed by Huawei. New major releases are announced at the Huawei Developers Conference (HDC) in the fourth quarter of each year together with the first public beta version of the operating system's next major version. The next major stable version is then released in the third to fourth quarter of the following year.
OpenHarmony (OHOS), also known as OH by shorter acronym, is a family of open-source distributed operating systems based on HarmonyOS derived from LiteOS, donated the L0-L2 branch source code by Huawei to the OpenAtom Foundation. Similar to HarmonyOS, the open-source distributed operating system is designed with a layered architecture, consisting of four layers from the bottom to the top: the kernel layer, system service layer, framework layer, and application layer. It is also an extensive collection of free software, which can be used as an operating system or in parts with other operating systems via Kernel Abstraction Layer subsystems.
The HarmonyOS App Pack or the App file, identified with the file extension ".app", serves as the file format used by the HarmonyOS operating system. It functions as a native HarmonyOS app for distribution and installation through Huawei AppGallery, or for distribution through Huawei Ability Gallery in respect of installation-free apps under both former classic dual-framework and current HarmonyOS NEXT system of unified OpenHarmony app framework. The App file is also used by a number of other open source HarmonyOS-based operating systems such as OpenHarmony and Oniro OS-based operating systems for distribution and installation of applications, video games and middleware. Including non OpenHarmony-based operating systems, such as GNU Linux-based Unity Operating System that supports the app file format.
HarmonyOS NEXT is a proprietary distributed operating system and a major iteration of HarmonyOS, developed by Huawei to support only HarmonyOS native apps. The operating system is primarily aimed at software and hardware developers that deal directly with Huawei. It does not include Android's AOSP core and is incompatible with Android applications.