作为一个例子,如果我需要一个需要定期发生0.5秒的工作,我可以放入2Hz的工作,或者我需要3秒,我可以在1 Hz的工作中增加一个计数器3次。我们可以将它命名为一种基本的RTOS?
答案 0 :(得分:1)
调用它和RTOS有点牵强,它可能(或可能不是)实时应用程序,但这两者不是同义词;实时可能不需要RTOS,并且具有RTOS的系统不需要是实时的 - 糟糕的应用程序设计很容易就会失败。
如果在中断上下文中处理定时器事件,那么这就是" 前台/后台系统",如果您正在轮询/计数定时器事件并执行处理在指定的时间,那可能最好被描述为" 大循环执行" (并且将更不确定)。它可能是框架或设计模式,但不是RTOS。
考虑一下:如果你的计时器是在T + 1.0时触发的,并且那时将要处理的某个异步事件发生在T + 0.0到T + 1.0之间的某个地方,需要0.0到1.0才能处理事件 - 那是实时的吗?在某些情况下可能如此,但如果事件必须在不到1.0个时间段内处理则不行。
在许多情况下,这种时间不确定性是不可接受的,对于UI按钮按下它会很烦人,对于紧急停止,它可能会杀死某人!典型的RTOS可以实现对微秒级事件的确定性响应(无论刻度分辨率如何),如果您的时序可以放宽1秒,则可能不需要RTOS。您的系统需要定时器频率以满足您最关键时间任务的实时需求 - 这使得它对于各种实时任务来说都是不切实际的。