【问题标题】:Are There any Open Source Real Time Operating Systems for x86? [closed]是否有任何适用于 x86 的开源实时操作系统? [关闭]
【发布时间】:2010-09-27 07:09:45
【问题描述】:

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

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

【问题讨论】:

  • 您还应该澄清 TCP/IP 堆栈是否是您的要求。这将极大地影响建议。
  • Real 硬 RT 似乎是不可能的,因为我们无法预测 x86 延迟:stackoverflow.com/questions/14259542/…

标签: open-source x86 x86-64 rtos


【解决方案1】:

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

http://www.freertos.org/

【讨论】:

  • 我认为没有可用的 x86 端口。当然,既然是开源的,你可以自己写一个!
【解决方案2】:

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

RTLinux 也可用

【讨论】:

    【解决方案3】:

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

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

    【讨论】:

      【解决方案4】:

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

      RTAI 和 LXRT 就是很好的例子

      RTAI

      【讨论】:

        【解决方案5】:

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

        【讨论】:

          【解决方案6】:

          我也一直在使用 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 或文件库函数。

          【讨论】:

            【解决方案7】:

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

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

            【讨论】:

              【解决方案8】:

              Prex 在 BSD 许可下。

              【讨论】:

                【解决方案9】:

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

                【讨论】:

                  【解决方案10】:

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

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

                  【讨论】:

                  • 现在很多街机都在使用Windows CE
                  【解决方案11】:

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

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

                  【讨论】:

                    【解决方案12】:

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

                    【讨论】:

                      猜你喜欢
                      • 2010-12-04
                      • 1970-01-01
                      • 2014-06-05
                      • 2010-09-12
                      • 1970-01-01
                      • 2017-03-23
                      • 2011-09-18
                      • 2010-09-20
                      • 1970-01-01
                      相关资源
                      最近更新 更多