【问题标题】:Advantages of RTOS rather than single sequential programs [closed]RTOS而不是单个顺序程序的优势[关闭]
【发布时间】:2023-03-14 13:32:01
【问题描述】:

拥有支持 RTOS 的多任务程序而不是单个顺序程序有什么优势?

有什么缺点吗?

【问题讨论】:

  • 什么是实时操作系统?实时操作系统?
  • 是的,RTOS = 实时操作系统
  • 在下面查看我的答案。您的问题不清楚,因此请说明您的背景以及您真正想知道的内容。
  • @Manuel:既然您回答问题的方式暗示了对该主题的一些了解,那么您为什么觉得有必要澄清 RTOS 的含义?在本网站的上下文中,该术语是完全明确的,甚至还有一个被广泛认可的标签。许多 Stackoverflow 问题都有我不熟悉的首字母缩写词或术语,但我不一定会查询它们,因为 我 不理解它们;相反,我会假设我没有专业知识来回答这个问题。软件工程是一个广泛的领域。
  • @Clifford 我的评论不好,应该要求澄清这个问题。不过,我没有得到您评论的最后一部分:您的意思是我的回答不正确吗?顺便说一句,再次阅读这个问题我真的不明白。

标签: c assembly embedded rtos


【解决方案1】:

在顺序或“大循环”程序中,除了中断处理之外,当程序“处理它”时会处理事件,循环时间可能是不确定的,并且可能随着函数的添加、删除和改变了。因此,系统的性能和响应能力取决于您对代码所做的每一次更改,而满足时间期限的行为和能力可能会受到与最终失败的功能无关的更改的影响。

通过使用基于抢占式优先级的调度,RTOS 可以确定性地响应事件,因此一个任务的处理时间变化不会影响其他更高优先级的任务。

除了确定性响应之外,将功能分离到执行线程中的能力使这些线程中的每一个都更简单,并且相互依赖更少。您拥有许多独立的专业循环,而不是一个“大循环”来处理所有事情,这些循环更易于测试和开发,并且更易于添加、删除和重用以更改系统的行为和功能。

【讨论】:

    【解决方案2】:

    实时操作系统的主要目标是为内核级操作和具体的实时调度策略提供有限的响应时间。它与顺序编程与并行编程完全无关。

    这些操作系统用于具有严格实时要求的嵌入式系统,您不应该将它们用于其他目的。

    【讨论】:

    • 嵌入式系统使用 RTOS 的主要原因是什么?
    • 没有实时需求的嵌入式系统不使用 RTOS。顾名思义:实时操作系统适用于实时系统。由于嵌入式系统通常具有与物理环境链接相关联的实时要求,因此它们经常使用 RTOS,但并非总是如此。
    • 那么您需要在顺序程序中使用调度策略吗?
    • @ziggystar,我不明白你的评论。你能帮忙吗?
    • @Manuel 对于 µC 来说,一个操作系统(RT 与否,尽管大多数是 RT)的一大价值在于它的多任务支持。因此,能否很好地使用(RT)OS 的问题与您是否需要在应用程序中进行多任务处理有关。
    猜你喜欢
    • 2010-10-12
    • 1970-01-01
    • 2013-05-15
    • 2016-07-20
    • 2016-06-21
    • 2014-11-29
    • 2019-05-16
    • 2021-01-12
    • 2011-03-27
    相关资源
    最近更新 更多