将定时器中断设置为 1Hz、2Hz...并完成所有工作意味着一种原始的 RTOS?
Setting Timer Interrupt 1Hz, 2Hz... and doing all jobs in its means a kind of primitive RTOS?
例如,如果我需要一个需要周期性发生 0.5 秒的工作,我可以输入 2Hz 的工作,或者我需要 3 秒,我可以在 1Hz 的工作中增加计数器 3 次等等。我们可以命名这个吗一种基本的实时操作系统?
称其为 RTOS 有点牵强,它可能(也可能不是)实时应用程序,但两者不是同义词;实时可能不需要 RTOS,带有 RTOS 的系统也不需要是实时的——糟糕的应用程序设计很容易打败它。
如果定时器事件是在中断上下文中处理的,那么就是一个“foreground/background系统”,如果你是polling/counting定时器事件并在指定时间执行处理,那么最好将其描述为“大循环执行”(而且确定性会更低)。它可能是 框架 或 设计模式 ,但不是 RTOS。
考虑一下:如果您的计时器将在时间 T+1.0 触发,并且将在该时间处理的某些异步事件发生在 T+0.0 到 T+1.0 之间的某处,则需要 0.0 到 1.0 之间的时间处理事件——是实时的吗?在某些情况下也许是这样,但如果事件必须在小于 1.0 的时间段内处理则不是。
在很多情况下,这种时间不确定性是不可接受的,按 UI 按钮会很烦人,如果紧急停止,可能会杀人!典型的 RTOS 能够以微秒为单位对事件做出确定性响应(无论滴答分辨率如何),如果您的计时可以轻松到 1 秒,您可能不需要 RTOS。您的系统将需要计时器频率来满足您对时间最关键的任务的实时需求 - 这使得它对于范围广泛的实时任务不切实际。
例如,如果我需要一个需要周期性发生 0.5 秒的工作,我可以输入 2Hz 的工作,或者我需要 3 秒,我可以在 1Hz 的工作中增加计数器 3 次等等。我们可以命名这个吗一种基本的实时操作系统?
称其为 RTOS 有点牵强,它可能(也可能不是)实时应用程序,但两者不是同义词;实时可能不需要 RTOS,带有 RTOS 的系统也不需要是实时的——糟糕的应用程序设计很容易打败它。
如果定时器事件是在中断上下文中处理的,那么就是一个“foreground/background系统”,如果你是polling/counting定时器事件并在指定时间执行处理,那么最好将其描述为“大循环执行”(而且确定性会更低)。它可能是 框架 或 设计模式 ,但不是 RTOS。
考虑一下:如果您的计时器将在时间 T+1.0 触发,并且将在该时间处理的某些异步事件发生在 T+0.0 到 T+1.0 之间的某处,则需要 0.0 到 1.0 之间的时间处理事件——是实时的吗?在某些情况下也许是这样,但如果事件必须在小于 1.0 的时间段内处理则不是。
在很多情况下,这种时间不确定性是不可接受的,按 UI 按钮会很烦人,如果紧急停止,可能会杀人!典型的 RTOS 能够以微秒为单位对事件做出确定性响应(无论滴答分辨率如何),如果您的计时可以轻松到 1 秒,您可能不需要 RTOS。您的系统将需要计时器频率来满足您对时间最关键的任务的实时需求 - 这使得它对于范围广泛的实时任务不切实际。