Is Hongmeng system developed based on linux?
Hongmeng system is not developed based on Linux, but based on microkernel. Hongmeng system is a distributed operating system based on microkernel for all scenarios; Linux is a single-kernel structure, and at the same time absorbs the advantages of microkernel, avoids the defects of microkernel design, and allows everything to run in kernel mode. , call the function directly without message passing.
The operating environment of this tutorial: Magic UI 4.0.0 system, HONOR V30 mobile phone.
Hongmeng system is not developed based on Linux, but based on microkernel.
Hongmeng is an operating system completely independently developed by Huawei, and its English name is Harmony. Huawei said that they are not making another Android or another Linux, but a next-generation operating system. This is a distributed operating system based on microkernel for all scenarios. According to the official introduction, Hongmeng OS has four major technical features, including:
1. The distributed architecture is used in terminal OS for the first time and can Achieve seamless collaboration across terminals to meet all scenarios.
2. The system is smoother, application response delay is reduced by 25.7%, and process communication efficiency is improved by 5 times compared with the existing system.
3. Architecture-level trusted security.
4. One-time development, multi-terminal deployment, and cross-terminal ecological sharing.
It turns out that we know the real architecture of Hongmeng operating system: it uses a microkernel, so is it still based on Linux? How is it related to Linux?
First of all, you have to know what a microkernel is. Does Linux use a microkernel? Let me introduce it to you below.
1. Definition of microkernel
The microkernel structure consists of a very simple hardware abstraction layer and a set of key primitives or system calls. These primitives only include the establishment of Several necessary parts of a system, such as thread management, address space and inter-process communication.
The goal of the microkernel is to separate the implementation of system services from the basic operating rules of the system. For example, a process's input/output locking services can be provided by a service component running outside the microkernel. These very modular user-mode servers are used to complete higher-level operations in the operating system. This design makes the design of the innermost part of the kernel simpler. The failure of a service component will not cause the entire system to crash. All the kernel needs to do is to restart this component without affecting other parts.
The microkernel puts many OS services into separate processes, such as file systems, device drivers, and processes call OS services through message passing. The microkernel structure is necessarily multi-threaded. The first generation of microkernels, The kernel provides more services, so it is called a 'fat microkernel'. Its typical representative is MACH, which is the kernel of both GNU HURD and APPLE SERVER OS. It can be said that it is booming. The second generation microkernel only provides the most Basic OS services, a typical OS is QNX, QNX is well-known in the theoretical community and is considered an advanced OS.
2. Operating systems designed with microkernel
Microkernel is not a new concept. It has existed for a long time. The following operating systems are all designed based on the microkernel structure:
AIX
BeOS
- ##L4 microkernel series
- Mach, for GNU Hurd and Mac OS ##MorphOS
- QNX
##RadiOS
VSTa
RT-Thread
Attachment: Netizens have come to a conclusion about micro-kernel
Micro-kernel has failed, at the commercial level Among operating systems (including open source operating systems that can be used for mission critical applications), except for L4, which is still struggling to retain a small share, there is no market for micro-kernels. The first generation of micro-kernels solved the wrong problem in the wrong way. The second generation micro-kernel just solved the wrong problem in the right way. 3. Explain to you whether Linux is a single-kernel or a microkernel.
Linux is a single-kernel structure, and at the same time it absorbs the advantages of a microkernel: modular design and support for dynamic loading. Kernel module, Linux also avoids the shortcomings of microkernel design, allowing everything to run in kernel mode and call functions directly without message passing.
As early as 1992, Linus had a famous debate with Tanenbaum about operating system kernel selection. Tanenbaum believes that an operating system designed with a microkernel architecture is theoretically superior to a macrokernel architecture, and advocates that Linux should be redesigned with a microkernel architecture. However, Linus, the founder of Linux, fought back from a practical development point of view, stating the reasons why Linux chose the macro kernel architecture for development, and comparing the performance differences between Minix and Linux.
Tanenbaum, a well-known technical writer, educator and researcher, senior member of IEEE, senior member of ACM, academician of the Royal Netherlands Academy of Arts and Sciences, 1994 ACM Karl V. Karlstrom Outstanding Education Award, 1997 ACM Computer Science Award for Outstanding Contribution to Education, 2002 Texty Excellence in Teaching Materials Award, Outstanding Paper Award at the 10th ACM Symposium on Operating System Principles, and was listed in the "Who's Who in the World" directory.
The following figure is a simple architectural diagram of the two structures of macro kernel (left) and micro kernel (right):
From this, we draw a conclusion that Huawei HarmonyOS is a new operating system. It is not a Linux-based distribution. It is at the same level as MacOS, Windows, and Linux. It is not the same architecture as Android, because Google's Android is based on the Linux kernel, but Google is also developing new operations. On the system front, unlike Android, Google's new operating system is not based on an existing operating system, but a brand new OS. As a result, many people commented that China has entered the era of its own operating system, expressing strong expectations for Huawei's Hongmeng operating system.
For more related knowledge, please visit the FAQ column!
The above is the detailed content of Is Hongmeng system developed based on linux?. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

VS Code system requirements: Operating system: Windows 10 and above, macOS 10.12 and above, Linux distribution processor: minimum 1.6 GHz, recommended 2.0 GHz and above memory: minimum 512 MB, recommended 4 GB and above storage space: minimum 250 MB, recommended 1 GB and above other requirements: stable network connection, Xorg/Wayland (Linux)

The five basic components of the Linux system are: 1. Kernel, 2. System library, 3. System utilities, 4. Graphical user interface, 5. Applications. The kernel manages hardware resources, the system library provides precompiled functions, system utilities are used for system management, the GUI provides visual interaction, and applications use these components to implement functions.

Although Notepad cannot run Java code directly, it can be achieved by using other tools: using the command line compiler (javac) to generate a bytecode file (filename.class). Use the Java interpreter (java) to interpret bytecode, execute the code, and output the result.

The reasons for the installation of VS Code extensions may be: network instability, insufficient permissions, system compatibility issues, VS Code version is too old, antivirus software or firewall interference. By checking network connections, permissions, log files, updating VS Code, disabling security software, and restarting VS Code or computers, you can gradually troubleshoot and resolve issues.

vscode built-in terminal is a development tool that allows running commands and scripts within the editor to simplify the development process. How to use vscode terminal: Open the terminal with the shortcut key (Ctrl/Cmd). Enter a command or run the script. Use hotkeys (such as Ctrl L to clear the terminal). Change the working directory (such as the cd command). Advanced features include debug mode, automatic code snippet completion, and interactive command history.

To view the Git repository address, perform the following steps: 1. Open the command line and navigate to the repository directory; 2. Run the "git remote -v" command; 3. View the repository name in the output and its corresponding address.

Writing code in Visual Studio Code (VSCode) is simple and easy to use. Just install VSCode, create a project, select a language, create a file, write code, save and run it. The advantages of VSCode include cross-platform, free and open source, powerful features, rich extensions, and lightweight and fast.

VS Code is available on Mac. It has powerful extensions, Git integration, terminal and debugger, and also offers a wealth of setup options. However, for particularly large projects or highly professional development, VS Code may have performance or functional limitations.