Matrix653 实现

更新时间:
2023-12-14
下载文档

Matrix653 实现

本节介绍 Matrix653 分时分区操作系统中多模块调度计划表的实现原理。

应用场景

对于某些设备来说,单一的调度计划表限制太多,在不同的运行阶段,需要分区有不同的执行序列和执行时间。以下是多调度计划表可能会使用到的场景:

  • 初始化阶段和操作阶段:每个分区都需要一定的时间来初始化其变量、数据、结构体和相关硬件。分区初始化所需的时间不一定与操作所需的时间有关。如果操作所需的时间短于初始化所需的时间,则为两者构建的单个调度计划表可能会导致更长的初始化时间(针对操作优化)或未使用的分区窗口时间(针对快速初始化优化)。通过构建多个调度计划表分别用于初始化阶段和操作阶段,可以优化系统,以满足初始化和操作要求,而不牺牲其中一个。

  • 组件故障:当主处理器出现故障时,对连续运行至关重要的程序可以分配到另一个处理器上运行(替换不太重要的应用程序)。在这种情况下,选择一个调度计划表来包含来自故障处理器的应用程序。

Matrix653 实现

在 Matrix653 系统中,提供了 ARINC 653 P2-4 中规定的多模调度计划表(Multiple Module Schedules)服务。 这些服务扩展了调度计划表,允许在 XML 配置表中定义多个调度计划时间表。授权分区请求操作系统切换当前运行的调度计划表。指定的调度计划表将在当前调度计划表结束时切换。新调度计划表中的分区将代替那些旧调度计划表中运行的分区(即具有新的主时间帧周期和新的窗口持续时间)。

配置表还扩展了包括重启操作(冷启动、热启动、忽略),这些操作将在每个分区和每个模块的时间表基础上执行。

注: 每当所选调度计划表包含对分区周期或相关处理器内核数量的修改时,可能需要对该分区执行冷启动操作。当该扩展利用多个处理器核心能力时,分区的处理器核心分配可以被配置为在模块调度之间变化。

当分区被配置了多个 CPU 核心时,不同的调度计划表中,分区可以使用不同的 CPU 核心。

文档内容是否对您有所帮助?
有帮助
没帮助