解密华为鸿蒙系统两大核心技术!凭什么赢过安卓?( 二 )

1、微内核

要理解微内核,首先要明确什么是宏内核,宏内核是把所有系统服务都放到内核里,包括文件系统、设备驱动等。安卓系统就是宏内核。

解密华为鸿蒙系统两大核心技术!凭什么赢过安卓?

图3/12

宏内核和微内核系统的技术架构差异

但宏内核有着无法调和的矛盾,那就是随着操作系统越来越复杂,内核里面的东西也越来越多。这样会产生以下两个问题:

首先,操心系统代码量庞大,漏洞无法避免。以 linux2.6 内核为例,它有着超过 1100 万行代码,其中的潜在漏洞可想而知。

其次,大量服务、硬件驱动都在内核中,导致操作系统可扩展性差。由于所有系统服务都在宏内核系统中,要适应不同的硬件需要修改许多系统服务。这导致宏内核系统的适配性很差,尤其是在硬件规格差异极大的物联网终端上。

于是,微内核应运而生,其核心思想是简化内核,使内核成为一个只提供最基础的系统服务的东西,其他统统都放在内核之外。比如内核中只保留多进程调度、多进程通信(IPC)等服务。其他系统服务例如文件系统、POSIX 服务、网络协议栈甚至外设驱动都放在了用户态中来实现。

推荐阅读