Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C RTOS而非单一顺序程序的优势_C_Assembly_Embedded_Rtos - Fatal编程技术网

C RTOS而非单一顺序程序的优势

C RTOS而非单一顺序程序的优势,c,assembly,embedded,rtos,C,Assembly,Embedded,Rtos,拥有支持RTOS的多任务程序而不是单一顺序程序的优势是什么 有什么缺点吗?实时操作系统的主要目标是为内核级操作提供有限的响应时间和具体的实时调度策略。它与顺序编程和并行编程完全没有关系 这些操作系统用于具有硬实时要求的嵌入式系统中,您不应出于其他目的而关心它们。在顺序或“大循环”程序中,除了中断处理之外,当程序“开始处理”时会处理事件,循环时间可能是不确定的,并且可能随着功能的添加而变化,删除和更改。因此,系统的性能和响应能力取决于您对代码所做的每一次更改,而与最终失败的功能无关的更改可能会影响

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


有什么缺点吗?

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

这些操作系统用于具有硬实时要求的嵌入式系统中,您不应出于其他目的而关心它们。

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

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


除了确定性响应之外,将功能划分为执行线程的能力使这些线程中的每一个都更简单,并且不那么相互依赖。与处理一切的“大循环”不同,您有许多独立的专家循环,它们更易于测试和开发,更易于添加、删除和重新使用,以改变系统的行为和功能。

什么是RTO?实时操作系统?是的,RTOS=实时操作系统请参阅下面我的答案。你的问题不清楚,所以请澄清你的背景和你真正想知道的。@Manuel:既然你回答问题的方式暗示了你对该主题的一些知识,为什么你觉得有必要澄清RTOS的含义?在这个网站的上下文中,这个术语是完全明确的,甚至有一个被广泛认可的标签。许多问题都有我不熟悉的首字母缩略词或术语,但我不一定会问它们,因为我不理解它们;相反,我认为我没有回答这个问题的专业知识。软件工程是一个广泛的领域。@Clifford我的评论不好,应该要求澄清这个问题。然而,我没有得到你评论的最后一部分:你是说我的回答不正确吗?另一方面,再次阅读这个问题我真的不明白。嵌入式系统使用RTOS的主要原因是什么?没有实时需求的嵌入式系统不使用RTOS。顾名思义:实时操作系统是针对实时系统的。因为嵌入式系统通常有与物理环境链接的实时需求,所以它们通常使用RTO,但情况并非总是如此。所以您需要在顺序程序中使用调度策略?@ziggystar,我不理解您的评论。您能帮忙吗?@Manuel ForµC操作系统的一大价值(RT或非RT,尽管大多数都是RT)在于其多任务支持。因此,使用(RT)操作系统的问题与应用程序中是否需要多任务有关。