鸿蒙内核

鸿蒙内核(英文: HongMeng Kernel)是华为自主研发的计算机操作系统内核。它被应用于HarmonyOS NEXT迭代版本,取代了之前依赖AOSP兼容层、 Linux 内核和LiteOS内核的版本。鸿蒙内核采用微内核架构,通过隔离关键系统组件来增强安全性和性能。

设计
鸿蒙内核采用微内核架构,运行在富执行环境层面。主要负责管理硬件级HarmonyOS TEE(可信执行环境)内核之外的软件,这种设计不仅实现了高度的模块化,还让操作系统更多功能能够在内核态(kernel mode)下获得内存保护机制的支持。另外,在鸿蒙内核的抽象层中,通过兼容层保留了基于宏内核架构Linux内核兼容子系统的性能优势,并集成了POSIX API 和musl-libc的支持,使鸿蒙操作系统能够为高端大型设备提供用户态关键任务支持。

鸿蒙内核通过在内核空间中部署一个ABI兼容层,实现了对Linux ABI 的兼容,该兼容层将Linux系统调用重定向到进程间通信(IPC),同时承担全局状态中央存储库的角色。此外,鸿蒙内核通过驱动程序容器复用Linux驱动,在兼容性和关键路径性能之间取得平衡,同时分离控制平面和数据平面的,进一步提升性能。在核心指标上,鸿蒙内核在上下文切换、网络吞吐、应用启动速度、负载响应、丢帧率、中断延迟等关键指标上表现出色,且针对智能路由器和智能汽车等领域进行了专项性能优化。

。鸿蒙内核已在搭载HarmonyOS NEXT 5.1.0.110系统上运行,目前内核版本为1.10.0。

在鸿蒙系统中,鸿蒙内核对象在进程间通信(IPC)中承担数据传输载体的角色。其能力体系确保只有拥有具备内核读写权限的进程才能通过这些对象接收或发送消息,从而防止恶意进程篡改或插入消息内容。 作为微内核架构,鸿蒙内核大幅精简了内核的可信计算基(TCB)。与Linux内核等传统宏内核相比,鸿蒙内核代码量不足其四分之一,显著降低了内核漏洞的发生概率。

在安全防护层面,鸿蒙内核的 HKIP 模块提供了多重保护机制,需注意的是,除了代码、只读数据和内核页表外,内核中的其他关键结构均不受HKIP保护。同时内核支持更细粒度的内核模块隔离,将内核资源划分为多种类型,不同类型由相应的模块管理,模块之间通过IPC机制通信,可有效防御针对多模块的协同攻击。另外,内核对模块间的权限进行细粒度划分,进一步避免单个模块被攻陷后扩散演变为对整个系统的攻击,从而危及整个系统。在驱动安全上,鸿蒙内核将驱动程序加载到用户态执行,并严格限制驱动程序仅获取EL0权限,即使驱动程序被成功攻击,也难以将权限提升到内核EL1层,从而限制了受攻击后的影响范围。

另外,鸿蒙内核已获得德国莱茵 TÜV 颁发的RTOS功能安全认证,符合 ISO 26262 ASIL D、IEC 61508 SIL 3 两项功能安全标准。

另请参阅

  • 内核 (操作系统)
  • OpenHarmony
  • HarmonyOS NEXT——华为发布的迭代操作系统,以鸿蒙内核为内核
  • HarmonyOS – 华为发布的操作系统,以Linux为内核

延伸阅读

  • 陈海波(来自华为中央软件研究所、上海交通大学):《微内核走向通用:鸿蒙生产环境微内核的性能与兼容性》,发表于2024年6月21日。原文存档于2024年6月21日。检索于2024年7月10日。

参考文献
外部链接

评论 (0)

  • 还没有评论,来抢沙发吧。