拥有支持 RTOS 的多任务程序而不是单个顺序程序有什么优势?
有什么缺点吗?
在顺序或“大循环”程序中,除了中断处理之外,当程序“处理它”时会处理事件,循环时间可能是不确定的,并且可能随着功能的添加、删除和更改而变化。因此,系统的性能和响应能力取决于您对代码所做的每一次更改,并且满足时间期限的行为和能力可能会受到与最终失败的功能无关的更改的影响。
通过使用基于抢占优先级的调度,RTOS 可以确定性地响应事件,因此一个任务的处理时间的变化不需要影响其他更高优先级的任务。
除了确定性响应之外,将功能分离到执行线程中的能力使这些线程中的每一个都更简单,并且相互依赖更少。与处理所有事情的“大循环”不同,您拥有许多独立的专业循环,这些循环更易于测试和开发,并且更易于添加、删除和重用以更改系统的行为和功能。
实时操作系统的主要目标是为内核级操作和具体的实时调度策略提供有限的响应时间。它根本与顺序编程与并行编程无关。
这些操作系统用于具有严格实时要求的嵌入式系统,您不应该出于其他目的而关心它们。