我正在学习关于RT Linux和QNX的文档,并且对单内核和微内核感到困惑。一些文件说RT Linux是单内核,而有些则称其为微内核。我很担心哪个是正确的?请有人回答我的问题吗?
我知道QNX是一个微内核操作系统,但对RT Linux感到困惑。是否有人能告诉我这两个实时操作系统之间的区别以及以下问题。 RT Linux是单内核还是微内核?
我正在学习关于RT Linux和QNX的文档,并且对单内核和微内核感到困惑。一些文件说RT Linux是单内核,而有些则称其为微内核。我很担心哪个是正确的?请有人回答我的问题吗?
我知道QNX是一个微内核操作系统,但对RT Linux感到困惑。是否有人能告诉我这两个实时操作系统之间的区别以及以下问题。 RT Linux是单内核还是微内核?
在我看来,实际上并没有真正的RT Linux1。只有将实时兼容性功能²添加到官方通用Linux内核中的方法。例如RTAI、Xenomai或PREEMPT_RT patch。因此,它们都使用相同的内核,这绝对是一个单片内核(对于Linus来说,这种方式肯定会保持下去)。
然而,Jae Hwan Koh和Byoung Wook Cho关于RTAI和Xenomai性能评估的论文³则表述得更像是一种分离的内核方法:
RTAI和Xenomai是用于实时任务的接口,而不是实时操作系统。因此,需要使用操作系统;Linux是最广泛使用的。在RTAI和Xenomai中,Linux操作系统内核被视为空闲任务,只有在没有实时任务运行时才执行。下图显示了所使用的实时嵌入式Linux的架构和版本。RTAI和Xenomai在概念上是同质的,它们都使用通用的Linux内核和实时API。然而,在处理某些事情的方式上有一个显著的对比。另一张图片⁴也支持这个观点,即在另一个内核之上运行一个内核作为空闲任务。1 话虽如此,曾经有一个名为RTLinux的操作系统(内核),它的工作方式与我在上面回答中提到的其他方法非常相似,即将整个Linux内核作为完全可抢占进程运行[1] [2]。RTLinux后来并入了Wind River(VxWorks)的产品,并影响了RTAI周围的工作。找不到关于内核类型的来源。
2 换句话说,是一种“实时扩展” 3 “各种运行条件下RTAI和Xenomai的实时机制实时性能”,2013年,国际控制与自动化杂志
4 不幸的是,我还无法确定它的来源。
RT Linux 同时具有 Linux 内核和实时内核。实时内核优先级高于 Linux 内核。有关详细信息,请参阅以下文章。