What is a microkernel? What is the difference with Android system?

Microkernel

The basic idea of ​​the microkernel design is to simplify the kernel function, realize as many system services as possible in the user mode outside the kernel, and add mutual security protection. The kernel only provides the most basic services, such as multi-process scheduling and multi-process communication (IPC). Among them, process communication serves as a bridge connecting applications and user-mode system services.

Android system

Android is a macro kernel, that is, all system services are placed in the kernel. Such a kernel is huge. The Android operating system has 100 million lines of code, and the kernel is more than 20 million lines of code, which is very complicated. Data exchange and service requests are completed between the codes of the system service, which is also a relatively direct and efficient method.

Difference with Android

advantage

1. Microkernel, small kernel, can realize formal verification, can significantly improve security

2. Modular system service, high portability

Disadvantage

1. Exchange data or call system services through process communication instead of using system calls, causing additional operating system overhead

2. Frequent sending and receiving of data between system services may cause delays

to sum up

The Android operating system will shift to Chorm PCs and tablets in the future. Watches have Android systems, and IoT has IoT systems. Google is also developing the next-generation operating system, Fuchsia, which is a microkernel and can be adapted to various hardware terminals, but Fuchsia It is not a distributed design, and the performance is not good enough, but it is a micro-kernel architecture. It can be seen that the future development direction of the entire operating system is micro-kernel.

Guess you like

Origin blog.csdn.net/fuli911/article/details/108909103