论文地址: https://www.usenix.org/system/files/osdi24-chen-haibo.pdf
对这篇论文我的一些浅见:
鸿蒙内核总体来说是微内核架构,更偏向混合内核
为了解决微内核的性能问题,做了很多优化,比如隔离层拆的更细,优化了分页机制等等,这块还没仔细研究
我最关注的是鸿蒙如何兼容 Linux 生态:
用户态程序:鸿蒙内核提供了一个 Linux ABI shim ,用户态照常使用 Linux 的 syscall ,会被 Linux ABI shim 转发为鸿蒙内核处理,这个跟微软的 WSL1 是很类似的,鸿蒙是微内核,处理这个很方便
硬件驱动程序:提供了 Linux driver container 机制,我理解跟 linux 内核的 UML 机制差不多,在用户态运行 linux 内核 Runtime ,驱动运行在用户态 linux 内核 runtime 上,这样可以直接使用 Linux 生态的硬件驱动程序。当然相比于 Linux 硬件驱动直接运行在内核态,性能会比较差。鸿蒙提供的解决方案是:对于性能要求高的程序,在内核态重写一个 twin driver 用于处理中断等数据面,将控制面数据面分离。但这个就要求厂家针对鸿蒙适配驱动了,而且鸿蒙内核也没开源,所以只能说能发论文,用在华为自己的路由器手机或者车机上没问题,其他生态还是不好说
总得来说,这篇论文还是有挺多干货的。能把鸿蒙这套内核架构商业化落地,华为在操作系统方向的技术还是很牛的,也有魄力投入👍,要是 PR 的时候少吹点牛逼就好了。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.