Windows 10 IoT 企业版上的软实时

Windows 10 软实时是 Windows 10 IoT 企业版版本 21H2 的一项新功能,它允许设备制造商在其设备上引入软实时功能。

此实时行为通过 4 个关键设置引入:

  1. CPU 隔离:将系统级干扰从隔离的 CPU 迁移出去,减少对用户实时应用程序的潜在抖动

  2. 独立 CPU 上的自定义 ISR/DPC 固定:所有硬件中断都路由到系统和非实时内核,但通过编写自定义 ISR/DPC 驱动程序,可以将设备特定的中断路由到实时内核。

  3. 互斥体的优先级继承:此设置可确保执行最高优先级的线程,即使在复杂的多线程场景中也是如此。

  4. 最多 16 个 RT 线程优先级别:这使程序员能够在实时任务间分配资源,以确保首先执行最重要的任务。

什么是实时操作系统?

运行程序时,正常的操作系统会给出确定性的结果,但允许有不确定的时间来完成任务。 在实时操作系统中,程序执行的结果和获得这些结果所花费的时间都是(至少部分)确定的。

硬实时与软实时

硬实时操作系统是所花费的时间可以确定到确切时刻的系统。 这些操作系统部署在无法按时获得结果代表整个系统故障的用例中。 示例包括汽车发动机或飞机内的微型控制器、打印机、激光切割机等。Azure Real-Time OS 就是此类 OS 的一个示例。

在软实时操作系统中,由于操作系统的一些抖动,程序完成的时间窗口很小,而不是精确的时刻。 软实时系统虽然精度较低,但可以在多核上运行并对应用程序施加较少的限制。 这是在使用本指南后可以从 Windows 10 IoT 企业版获得的实时性能类型。

何时需要实时性能?

实时性能不一定是更快的性能。 这只是可预测的性能。 如果希望获得更好的整体系统性能,软实时可能不是实现它的最佳途径。 但是,如果你有实际的限制(例如必须在机器人环境改变之前执行的计算或必须在传送带移动之前激活的电机),那么软实时可能就是你所需要的。

软实时设备更常用于更广泛的控制回路中,以触发状态机的行为。 较小的硬实时控制循环位于更广泛的循环中,并在独立的微控制器上运行,直到软实时计算机提供用于更改其行为的输入。 许多命令和控制回路都有繁重的循环时间要求,需要在回路中使用硬实时设备进行直接控制。

软实时用例

下一篇:如何设置设备以获得实时性能