2021年5月18日 VxWorks.

RTOS的单片内核或微内核

由Michel Chabroux.

Chabroux-Photo

曾经有一场关于微内核软件设计是否优于像Linux操作系统那样的单片内核的大争论。当然,我说的是名人Tanenbaum-Torvalds辩论20世纪90年代。没有必要在这里重新争论。他可以说,许多今天的通用操作系统(包括Linux)使用单片内核设计(所以旧辩论几乎没有MOOIC)。Windows在两者之间。

当谈到选择实时操作系统(RTOSes)时,您确实有很多选择。一些商业RTOS产品构建在微内核设计之上,而其他产品则采用单片内核方法。

有什么区别呢?

在Microkernel设计中,尽可能多的功能从内核中删除,并将其委派给单独的操作空间通过裸骨内核传递给彼此的消息进行通信。

另一方面,在单片设计中,内核和操作进程都共享相同的空间,消息在进程之间直接传递,而不需要由内核进行中介。

理论上,每个方法的优势可以相当简洁地展示:

•微内核可以在更新时节省时间和成本,因为它们的模块化本质——不是每个模块都需要立即更改。

•另一方面,单片内核提供了性能优势,因为它们的集成本质,不需要内核在模块之间调解调用的开销。

注意,我说过这些是优点在理论上.为什么?因为对于许多嵌入式项目来说,这些差异并不重要,不足以成为选择RTOS的真正因素。

在某些情况下,微内核的模块化特性确实有一些优势,即可以修改一个部分而无需重新构建所有部分。然而,这种优势在现实世界中受到许多系统集成特性的限制——在某些情况下,还受到性能需求的进一步限制。虽然开发人员可能不需要重新构建整个系统,但系统可能仍然需要作为一个整体进行测试。

同样,单片内核的性能优势是非常真实的,但这种更好的性能的好处可能并不总是如此重要。如果两个系统都在定义的要求内执行,那么可能会或可能不是选择更快的系统。此外,性能是硬件依赖性的,因此通过在卓越的硬件上运行,较慢的RTOS可能会实现平价。

所以没关系?实际上,它确实如此

别误会我的意思;细节问题。VxWorks是一个单片内核设计,高度优化,以在每个硬件平台上实现尽可能好的性能,风河支持这种方法。首先,RTOS环境和需求变得越来越复杂,并且单片内核的性能优势随着工作负载的复杂性而增加。

我想说的是:不要因为RTOS具有单片内核或微内核架构而选择它。选择它是因为它是一个强大的现代实时操作系统,具有智能边缘功能——容器与云交互,机器学习是嵌入式的。

你可以在这里阅读更多关于实时操作系统现代化的信息:让实时操作系统的现代化开始(终于)

以前的风河工作室荣获2021年美国商业奖青铜Stevie®获奖者
下一个5G RAN演进:前进