代码之家  ›  专栏  ›  技术社区  ›  Peter K.

嵌入式操作系统的比较?

  •  11
  • Peter K.  · 技术社区  · 17 年前

    我曾经参与过各种类型的嵌入式操作系统,并且通常必须与遗留系统一起工作。现在我有机会从头开始一个新的嵌入式项目。

    对系统的主要限制是:

    • 它需要一个基于网络的界面。
    • 需要实时处理输入(因此需要真正的RTOS)。
    • 可用内存为32MB的RAM和闪存。

    团队以前使用的操作系统是vxworks、threadx、ucos、psos和windows ce。

    是否有人对操作系统选择进行比较或权衡研究?

    我们还需要考虑其他的操作系统吗?(我们建议使用ecos和rt-linux)。

    编辑-感谢您迄今为止的所有回复。遗憾的是,我不能把一切都标记为“接受”。

    11 回复  |  直到 12 年前
        1
  •  5
  •   Peter K.    12 年前

    这完全取决于为您的团队分配了多少时间来学习“新”RTO。
    你有什么理由不想用别人已经有经验的东西吗?

    我在VXWorks方面有丰富的经验,我喜欢它,但在为Windriver工作时,忽视我的观点。

    UC/OSII的优点是在Labrosse的书中有完整的文档记录(正如在源代码中实际解释的那样)。但不知道网络支持。

    我知道PSOS已经不可用了。

    你也可以看看 this list of RTOSes

        2
  •  5
  •   moobaa    17 年前

    我工作过 QNX 很多年前,只有伟大的事情可以说。即使在那时,qnx 4(与中微子微内核相比,它确实很粗)也非常适合低内存的情况(尽管32MB是 奥德尔斯 与我们必须玩的1-2MB相比),虽然我没有显式地玩任何基于Web的东西,但我知道Apache是可用的。

        3
  •  5
  •   Ben Collins    17 年前

    我认为仔细评估你所说的“RTOS”是明智的。我在一家构建高性能嵌入式系统的大公司工作多年,他们称之为“实时”,尽管这并不是他们真正的样子。它们是低延迟的,并且有确定的调度程序,10次中有9次,这就是人们在说RTO时真正想要的。

    真正的实时性需要硬件支持,可能不是你真正的意思。如果你只需要低延迟和确定性的调度(同样,我认为这是人们90%说“实时”时的意思),那么任何Linux发行版都可以为你工作。您甚至可以使用Windows(我不确定您如何控制Windows调度程序…)。

    再说一遍,小心你所说的“实时”是什么意思。

        4
  •  4
  •   mcotton    17 年前

    我从购买了一些开发硬件 netburner 它非常容易使用,并且有很好的文档记录。它是一个运行uClinux的RTO。这家公司很适合合作。

        5
  •  4
  •   kris    17 年前

    选择一个团队经验丰富的操作系统可能是明智的决定。不过,我想推广两个好的开源选项:

    两者都有许多特性和驱动程序,用于各种各样的体系结构。你还没有提到你将使用什么架构。它们提供了POSIX层,如果您想尽可能地保持可移植性,这是很好的。

    另外,ecos和rtems的许可证都是gpl,但有一个例外,即通过与内核链接生成的可执行文件不在gpl的范围内。

    社区非常活跃,有公司提供商业支持和发展。

        6
  •  2
  •   user24900    17 年前

    我们对KeilRTX系统非常满意……轻便、快速,并且满足了我们所有严格的实时限制。它还内置了一些很好的调试功能来监视堆栈溢出等。

        7
  •  1
  •   GEOCHET S.Lott    17 年前

    我对Windows CE非常满意,尽管它“重”。

        8
  •  1
  •   Toybuilder    17 年前

    张贴同意本柯林斯-你真的需要确定你是否有软实时要求(主要是人类互动)或硬实时要求(与时间敏感的设备接口)。

        9
  •  1
  •   jakobengblom2    17 年前

    柔软也意味着你可以忍受偶尔打嗝。

    可靠性要求是什么?我对更通用的操作系统(如嵌入式Linux)的经验是,他们往往会遇到随机的问题,因为他们的智能平均案例优化试图避免饥饿和类似的个别任务。

        10
  •  1
  •   Peter K.    14 年前

    VxWorks很好:

    1. 良好的文件;
    2. 友好的开发工具;
    3. 低潜伏期;
    4. 确定性调度。

    然而,我怀疑Windriver是否会将他们的主要注意力转向Linux,而Windriver Linux是否会打入Windriver VxWorks的市场。 市场越少,工程师的需求就越少。

        11
  •  1
  •   user3222672    12 年前

    这是最新的研究。最后一个是8年前做的,所以这是最相关的。这些表可用于添加其他RTOS选项。您将注意到,这种比较主要针对较轻的机器,但同样适用于较重的机器,前提是不需要虚拟内存。

    http://www.embedded.com/design/operating-systems/4425751/Comparing-microcontroller-real-time-operating-systems