那里有没有开源实时操作系统?我听说过实时Linux,但大多数实现似乎都是一个专有的RTOS(你需要付费),它将Linux作为一个过程运行 - 就像Ardence的RTX实时系统适用于Windows一样。
编辑:我应该澄清一下,我正在寻找RTOS来使用多核x86系列CPU。
答案 0 :(得分:6)
FreeRTOS,它提供底层内核。我已经在一些嵌入式应用程序中使用它,它看起来很健壮。但是,这实际上取决于您的申请。
答案 1 :(得分:5)
答案 2 :(得分:3)
eCos是免费的(但您可以获得付费支持)。它支持Intel x86架构。它支持多处理器系统。根据您的时间要求,我对实时Linux系统的经验不太好。虽然平均响应时间可能不错,但我已经看到几天内最坏情况可能是10或甚至100倍的情况。我想这部分取决于驱动程序的质量,部分取决于调度程序本身。
但我想这可以归结为您的系统是需要硬实时还是软实时,时序约束是什么,需要运行什么样的应用程序。以及如何简化您需要的开发系统。
答案 3 :(得分:2)
答案 4 :(得分:2)
OpenSolaris具有实时功能,但是您应该注意是否决定将其用于实时开发:几乎所有I / O都会导致内核中的优先级反转(低优先级系统工作线程可能会饿死,导致高优先级线程被阻止,例如在STREAMS代码中。
答案 5 :(得分:2)
我也一直在使用FreeRTOS操作系统,该系统可以通过修改后的GNU许可证,付费商业许可证版本或昂贵的安全认证版本(SafeRTOS)免费获得
从网站上有一个x86端口,如下所示
* Supported processor families: Any x86 compatible running in Real mode only, plus a Win32 simulator
* Supported tools: Open Watcom, Borland, Paradigm, plus Visual Studio for the WIN32 simulator
此操作系统提供先发制人或合作任务调度,其中包括任务的队列,信号量和优先级设置。它不提供与Linux等其他更大的OS实现一起提供的I / O或文件库函数。
答案 6 :(得分:1)
您的具体要求是什么?也许您可以使用vanilla Linux - 它不提供实时保证,但可能足够好。有些人发现它并不像实时供应商那样糟糕。
Vanilla Linux DOES也有不同的调度策略,但很多人都不知道。
答案 7 :(得分:0)
Prex受BSD许可。
答案 8 :(得分:0)
有S.Ha.R.K.项目。它适用于x86 CPU,但我不知道它是否处理CPU的所有内核。
答案 9 :(得分:0)
嗯,这不是开源,但你知道Windows CE是一个硬实时操作系统,它确实有一个x86端口吗?但我不知道它是否可以支持多核CPU。如果它是一个商业项目,你绝对应该考虑它。
还有MicroC/OS-II,它有一个x86端口,但如上所述,我不知道它是否支持多核。它适用于非商业用途。
答案 10 :(得分:0)
Linux的实时扩展,正如其他人已经提到的那样。看看xenomai.org。
我对多处理器问题不太确定。你想在多处理器上做什么?
答案 11 :(得分:0)
BeRTOS看起来很有趣。但对于x86,它支持“仅模拟器”。不知道为什么会这样。