准时的重要性:为嵌入式列车控制系统选择操作系统

时间:2012-11-14来源:网络


抢占式内核

抢占式内核是实时操作系统的一个核心特点,在一个没有抢占式内核调用的操作系统中,系统遇到不可预测的延迟会引起关键活动错过截止时间— 使得系统无法满足其可靠性的要求。

这些延迟是由高优先级用户线程等待完整的内核调用来完成所引起的,即使这个调用是系统中最低级别的进程造成的。更为糟糕的是,当驱动程序或其它系统服务(通常在内核调用时执行)代表客户线程执行时,优先级信息通常会丢失。

然而,在一个设计良好的实时操作系统中,抢占不会发生的时间窗极其短暂,通常是在纳秒级,实时操作系统对中断被禁止的时间和抢占关闭上规定了一个上限。该上限允许开发者确定最坏情况的延迟并在其设计中做调整。

为确保可预测性和关键活动的及时完成,实时操作系统必须尽可能简单,以便在通过内核的最长的非抢占式代码路径上有一个明确的上限。通过一个包括只用短执行路径服务的内核和分配给外部进程或线程的密集型操作(例如进程加载)能实现最佳的简易性。

优先级继承

优先级反转是一种低优先级线程阻止高优先级线程完成其工作的情况。表3显示了一个低优先级线程封锁高优先级线程的例子。这也许是通过同步引起(例如,警报和数据记录器共享由锁或信号灯控制的资源,警报等待数据记录器解除锁定的资源),或通过警报要求一项目前由数据记录器使用的服务引起的。

在图3的例子中,一个中等优先级的线程(数据聚合器)抢占低优先级的记录器,但不需要该记录器使用的资源,这使记录器保持了资源控制。当警报尝试运行,它抢占了聚合器并封锁,但不能访问仍被记录器控制的资源。由于警报的封锁,调度程序寻找能运行的优先级别最高的线程,并运行聚合器,颠倒线程优先级。

03_opt2.jpeg

图3 有了优先级继承,高优先级线程不会被封锁

优先级继承是一个阻止优先级反转的机制。它将高优先级线程的优先级分配给低优先级线程直到线程完成。在上面的这个例子中,数据记录器将继承警报的优先级,因此不能被数据聚合器抢占。它将完成并恢复到原来的优先级,而且警报将解除封锁并不受数据聚合器的影响,该机制在图4中显示。

04_opt1.jpeg

图4 自适应分区是保护特定线程和线程组的一套规则



时间分区

在与安全相关的系统里,如果一个子系统缺乏CPU周期,它提供的服务也许对其它子系统来说是不可用的。例如,在地铁系统里,如果一个车载ATP系统的通信栈进程在需要时无法响应,该车载ATP系统也许要与轨旁ATP基础设施承担通信中断并开始启动安全程序,减速或停止列车并中断上下线的服务。

时间分区通过硬件或软件的手段强制分配CPU预算,解决资源饥饿。它可以防止进程或线程垄断其它进程或线程需要的CPU周期。可能出现两种类型的分区:静态和自适应。

在静态分区中,任务在区内分组,每个区分配了一定比例的CPU时间。没有一个任务在任何区内能消耗超过分区预先确定的CPU时间。通过确保每个分区都能得到一定的CPU时间,该限制确保所有的关键进程总是能够保持运行。

不幸的是,没有进程能够使用比分配给它分区限定的更多的CPU周期,即使其它分区没有使用所有分配给它们的时间。因此,静态分区白白浪费了CPU周期并降低了系统处理高峰需求的能力。

与静态分区一样,自适应分区为进程或进程组保留了CPU周期。然而,不像静态分区,自适应分区使用动态调度算法,重新分配未使用的CPU周期给需要的分区。只有当CPU运行时,它才执行分区预算。自适应分区从而让系统以100% 的能力运行,仅当一个分区以上的进程竞争周期时,它才执行分区预算。

此外,自适应分区基于预先确定的标准,能在系统运行时调整预算。例如,一个负责制动调整的分区也许在每小时低于20公里的速度时被分配30%的CPU时间,而在更高速度时分配到45%的CPU时间。

软件看门狗

要求可用性保证的系统会实施以硬件为导向的高可用性解决方案和软件看门狗。

软件看门狗是一个监测系统并进行多阶段恢复或清除关闭的一个用户空间进程。看门狗必须自我检测并弹性处理内部故障。它如果意外停止,必须通过将其任务移交给镜像进程从而立即、完全重建其自我状态。

如发生故障,看门狗可以执行多种操作以确保系统安全性并恢复。例如,它能够中止然后重启故障进程,避免系统重启。或者,它也能终止该进程和相关进程,初始化硬件到一个安全状态,然后以协调的方式重新启动终止的进程。或者,如果故障至关重要,看门狗可以执行可控的关闭或重启整个系统并发出报警。

最后,软件看门狗能够监测传统的硬件看门狗不可见的系统事件。例如,硬件看门狗能确保驱动程序正服务于硬件,但可能无法检测到其他程序是否正确的与该驱动程序沟通。而软件看门狗可以弥补这一差距,当它检测到一个内部异常时能够采取行动。

1 2

关键词: 选择 操作系统 控制系统 列车 重要性 嵌入式 准时

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版