此前,在《鸿蒙系统所说的「微内核」是什么情况?》和《鸿蒙要用「微内核」,那对应的「宏内核」是什么?》两篇文章中,博科君已经介绍了「微内核」和「宏内核」的概况,这两种内核之外,还有「混合内核」,这又是什么情况呢?
在计算机科学中,「内核」是指它是一种操作系统内核的设计架构,混合内核的英文是Hybrid kernel,微内核是Microkernel(或者μ-kernel),宏内核是Monolithic kernel。
「微内核」与「宏内核」是传统操作系统的两大基本架构,「混合内核」则结合了「微」和「宏」两种核心架构。
「混合内核」的基本设计理念,是以「微内核」架构来设计操作系统的核心,在实现上则采用「宏内核」的作法。实质上来说,「混合内核」实质上还是微核心,不过它让一些微核结构运行在用户空间的代码运行在核心空间,从而保证核心的运行效率足够高。「混合内核」采用这种妥协做法,一方面是因为设计者参考了「微内核」结构的系统运行速度不佳的理论。
多数现代操作系统都遵循「混合内核」的这种设计方式——用「微内核」的概念来设计,实现方面就采用宏内核的作法,结合「微」和「宏」两种核心架构的设计方法,形成第三种分类。
不过,也有人对「微」「宏」「混合」的分类方式提出批评,例如Linux的最早作者Linus Benedict Torvalds,他就认为这种分类方式只是一种市场营销手段,在他看来,所谓「混合内核」的架构实现方式接近于微内核。