这篇论文是《Openkernel Goes General: Performance and Compatibility in the HongMeng Production Microkernel》,由Haibo Chen等人撰写,发表在USENIX 2024年操作系统设计与实现研讨会(18th USENIX Symposium on Operating Systems Design and Implementation, OSDIY24)的会议记录中。以下是论文的核心内容概述:
- 背景与挑战:微内核因其安全性、可靠性和可扩展性在嵌入式和安全关键场景中得到广泛应用。然而,当面向更普遍的场景,如智能手机和智能车辆时,微内核面临性能和兼容性问题。
- HongMeng内核介绍:论文介绍了鸿蒙内核(HongMeng kernel, HM)的设计和实现。HM是一个商业化的通用微内核,旨在保留微内核的优点,同时解决上述挑战。为了商业实用性,HM设计为与Linux API和ABI兼容,以便重用其丰富的应用程序和驱动生态系统。
- 性能与兼容性:HM对传统微内核智慧进行了重新审视,包括IPC(进程间通信)、基于能力的访问控制和用户空间分页,并相应地进行了改进。HM提出了一系列技术,如差异化隔离类别、灵活组合、无策略的内核分页和基于地址令牌的访问控制,以减轻性能退化。
- HM架构:HM由最小核心内核和一组最少特权的操作系统服务组成,能够运行像AOSP和OpenHarmony这样的复杂框架。HM已经在数千万设备上部署在智能路由器、智能车辆和智能手机等新兴场景中,通常在性能和安全性方面优于Linux。
- 性能设计:HM通过结构支持优先考虑性能,包括同步RPC样式的IPC快速路径、差异化的隔离类别、灵活的组合以及基于地址令牌的访问控制,以提高性能。
- 兼容性设计:HM通过ABI兼容的垫片实现Linux ABI兼容,并通过驱动容器高效重用Linux驱动程序。
- 安全性:HM保留了微内核的架构设计原则,因此具有与SOTA微内核类似的威胁模型,防止恶意应用程序和操作系统服务访问其他服务的内存,并确保数据的机密性、完整性和可用性。
- 实际部署:HM已经在多种设备上部署,包括智能手机、智能路由器和智能车辆,提供了更好的安全性、可靠性和性能。
- 性能评估:通过LMbench和Geekbench等工具对HM和Linux进行了性能比较,HM在多个方面展现出与Linux相似或更好的性能。
- 教训与经验:论文总结了从HM的开发和部署中学到的教训,包括首先实现兼容性,然后逐步实现原生化;通过大规模测试检查兼容性;部署后持续优化;尽可能使用自动化验证;以及微内核在新兴场景中的可扩展性问题。
论文的结论强调了HM作为一个商业化的通用微内核,既保留了微内核的原则,又提供了解决新兴场景中兼容性和性能挑战的结构支持,并为生产环境中微内核优势的未来探索提供了便利。
(由kimi生成)
https://www.usenix.org/system/files/osdi24-chen-haibo.pdf
太硬了,感兴趣的来看看