14

是否有任何开源实时操作系统?我听说过实时 Linux,但大多数实现似乎真的是一个专有的 RTOS(你必须付费),它将 Linux 作为一个进程运行——与 Ardence 的 RTX 实时系统在 Windows 上工作的方式非常相似。

编辑:我应该澄清一下,我正在寻找与多核 x86 系列 CPU 一起使用的 RTOS。

4

12 回答 12

6

FreeRTOS,它提供了底层内核。我在一些嵌入式应用程序中使用过它,它看起来很强大。但是,这实际上取决于您的应用程序。

http://www.freertos.org/

于 2008-12-17T08:04:30.583 回答
5

查看eCos免费、开源和实时操作系统。(支持x86,不确定多核)

RTLinux也可用

于 2008-12-17T07:52:58.173 回答
3

eCos 是免费的(但您可以获得付费支持)。它支持 Intel x86 架构。它支持多处理器系统。根据您的时间要求,我对实时 Linux 系统的体验并不好。虽然平均响应时间可能不错,但我见过几天内最坏的情况可能是 10 倍甚至 100 倍。我想这部分取决于驱动程序的质量,部分取决于调度程序本身。

但我想这归结为您的系统需要硬实时还是软实时,时间限制是什么,您需要运行什么样的应用程序。以及您需要的简化开发系统。

于 2009-02-05T20:27:19.927 回答
2

Linux 内核有硬实时扩展。您可能想检查其中的一些。

很好的例子是 RTAI 和 LXRT

瑞泰

于 2009-02-05T20:33:05.283 回答
2

OpenSolaris 具有实时功能,但是如果您决定将其用于实时开发,则应注意:几乎所有 I/O 都可能导致内核中的优先级反转(低优先级系统工作线程可能会饿死并导致高优先级要阻塞的线程,例如在 STREAMS 代码中)。

于 2009-05-20T23:38:49.767 回答
2

我也一直在使用 FreeRTOS 操作系统,它可以根据修改后的 GNU 许可证、付费商业许可证版本或昂贵的安全认证版本 (SafeRTOS) 免费提供

从网站上有一个 x86 端口,如下所示

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)一起提供的 I/O 或文件库函数。

于 2009-06-04T09:06:00.450 回答
1

您的具体要求是什么?也许您可以使用 vanilla Linux——它不提供实时保证,但可能已经足够好了。有些人发现它并不像实时供应商试图做出的那样糟糕。

Vanilla Linux 也有不同的调度策略,但很少有人知道这一点。

于 2008-12-22T07:44:24.110 回答
0

BeRTOS 看起来很有趣。但对于 x86,它支持“仅模拟器”。不知道为什么。

于 2011-11-03T15:40:17.590 回答
0

Prex在 BSD 许可下。

于 2008-12-17T07:55:56.607 回答
0

S.Ha.RK项目。它适用于 x86 CPU,但我不知道它是否可以处理 CPU 的所有内核。

于 2008-12-17T07:59:25.943 回答
0

好吧,这不是开源的,但是您知道 Windows CE 是一个硬实时操作系统并且它确实有一个 x86 端口吗?但是我不知道它是否可以支持多核 CPU。如果它是一个商业项目,你绝对应该考虑它。

还有MicroC/OS-II,它有一个 x86 端口,但和上面一样,我不知道它是否支持多核。它对非商业应用是免费的。

于 2008-12-17T08:08:31.183 回答
0

正如其他人已经提到的,Linux 有实时扩展。看看 xenomai.org。

我不太确定多处理器问题。你到底想在你的多个处理器上做什么?

于 2009-05-20T08:19:37.377 回答