鸿蒙内核是
华为研发的
操作系统内核。它用于鸿蒙操作系统的
HarmonyOS NEXT 版本,摆脱了
AOSP/
Linux/
Unix的依赖,是一种商业化的通用
微内核。
简介
万物智联时代的终端设备呼唤面向全场景的、流畅、安全的
操作系统内核,传统终端内核虽有丰富的生态,但在弹性、安全可靠、可演进性方面存在挑战,其深度耦合的架构也对创新造成掣肘。
鸿蒙内核在经典微内核架构基础上进一步创新元OS架构,解决
微内核性能挑战,同时比
混合内核更加灵活,可弹性满足多样化场景需求。
元OS可上可下、可分可合的灵活架构:鸿蒙内核基于组件理论模型实现功能特性细粒度解耦,并可根据不同场景的功能、性能、安全等差异化需求进行适配及灵活组合部署,分则提升安全可靠,合则优化性能功耗,结合软硬件协同的轻量级隔离机制,实现性能、安全、时延的多重收益。
鸿蒙内核围绕调度、内存、进程通信等核心能力进行创新,并通过全栈协同提升效率。感知协同QoS调度:为解决传统内核调度在终端领域的三大问题(唤醒时延不稳定、优先级反转、负载均衡控制不准确),鸿蒙内核打造感知协同QoS调度技术,赋能移动应用进行资源管理架构升级,提升关键场景帧率和流畅性体验。
鸿蒙混合动态大页:拍照、游戏、应用启动等重载场景需大量内存,传统内存管理采用4KB固定小页方式效率低。鸿蒙内核打造混合动态大页技术,可根据场景动态分配4/16/64KB页面,数倍提升内存管理效率;同时通过内核与应用协同实现类型感知的内存管理,大幅提升内存利用率。
鸿蒙极简进程间通信(
IPC):终端系统服务众多,通信协同频率高,鸿蒙内核原生的极简IPC机制解决了路径冗长、调度耦合等缺点,多跳变一跳,显著降低IPC开销,优化关键路径时延。
鸿蒙内核具有精简的可信基、增强的隔离策略及纵深安全防御机制,核心组件经形式化证明,获得全球首个通用操作系统内核CC EAL6+ 认证,并获得最高等级车规安全认证(ISO 26262 ASIL D)和工业软件领域高等级功能安全认证(IEC 61508 SIL 3)。此外,鸿蒙内核还获得中国信通院自主成熟度最高等级认证。
发展历程
华为在七年前启动了鸿蒙内核项目,以重新审视并改造微内核,使其成为适用于新兴场景的通用操作系统内核。
2023年7月23日,鸿蒙内核V100R006C00SPC020B030通过Common Criteria(CC)认证,获得全球首个通用操作系统内核CC EAL6+ 证书
HDC2024华为重磅发布全自研操作系统内核—鸿蒙内核,鸿蒙内核替换Linux内核成为HarmonyOS NEXT稳定流畅新基座。鸿蒙内核具备更弹性、更流畅、更安全三大特征,性能超越Linux内核10.7%。
内核设计
鸿蒙尊重
微内核的核心设计原则,但并非极端,通过仔细权衡来解决新兴场景下的性能和兼容性挑战。
原则1:保持极小化。
微内核的安全性、可靠性和可扩展性源于三个基本架构设计原则,包括分离策略和机制、解耦和隔离操作系统服务以及强制执行细粒度访问控制。
混合内核也可以通过代码解耦来强制执行极小化,但缺乏适当的隔离。因此,它无法继承微内核的主要优点。在强调兼容性和性能的同时,鸿蒙遵循
微内核的架构设计原则。
鸿蒙仅在核心内核中保留最小且必要的函数,包括线程调度程序、串行和定时器驱动程序以及访问控制。所有其他功能都在隔离的操作系统服务中实现,例如进程/内存管理器、驱动程序和文件系统。此外,鸿蒙采用细粒度访问控制来保留最小特权原则。服务只能访问功能所需的严格受限资源(内核对象)。因此,鸿蒙继承了微内核的安全性、可靠性和可扩展性。
保留:具有良好隔离和最低权限的系统服务的最小化微内核。
原则2:性能优先
微内核的巨大优势因新兴场景中其架构固有的性能问题而受到损害。因此,鸿蒙并不会强制执行统一但过于严格的隔离,而是提供结构上的支持来组装系统,以满足性能和安全要求。特别是,除了采用类似
RPC的快速路径来解决资源分配/耗尽/记账问题,鸿蒙还提出了差异化的隔离类,通过放宽受信任操作系统服务之间的隔离来减少
IPC开销。鸿蒙还将紧密耦合的操作系统服务整合在一起,以在性能要求高的场景尽量降低IPC频率。此外,鸿蒙通过使用地址令牌补充能力,实现高效的内核对象共同管理,从而加速对匿名内存的无策略内核分页。
灵活:通过提供结构性支持以实现灵活组装,适应多样化场景,从而优先考虑性能。
原则3:最大化生态兼容性
鸿蒙通过一个shim实现与现有软件生态系统的集成,确保Linux
ABI兼容性,该shim将所有
Linux系统调用重定向到适当的操作系统服务,并作为中心存储库存储和转换
Linux抽象(例如fd),以高效支持如poll轮询等功能。此外,鸿蒙通过驱动程序容器复用未修改的Linux设备驱动程序,该容器直接从主线Linux中派生所需的运行时,只需少量的工程工作。鸿蒙进一步通过利用控制平面和数据平面分离来提高驱动程序的性能。
增强:通过实现 Linux
API/
ABI 兼容和高性能驱动程序重用来最大限度地提高兼容性。
性能优势
鸿蒙内核与Linux内核在Micro-benchmark的性能比较中,鸿蒙内核在
上下文切换(平均32%)和网络上(平均21%)更快,在典型场景中,鸿蒙内核负载减轻19%,在top30应用程序中的应用程序启动时间缩短了17%,在持续24小时的典型使用中,掉帧率减少了10%