为嵌入式列车控制系统选择操作系统

分享到:
191
下一篇 >

为确保**和效率,铁路和运输系统正在实施各种保护系统,如列车自动保护(ATP)、积极列车控制(PTC)和基于通信的列车控制(CBTC)等。地铁和其他轨道交通系统正在采用自动列车操作(ATO)系统并运行“无人驾驶”列车(没有驾驶员或驾驶员只用来处理紧急情况的列车)。

这些控制系统与**息息相关。它们必须满足IEC 61508和EN 5012x标准中所设定的严格可靠性要求。本文侧重于介绍操作系统中对系统可靠性带来*直接影响的一些特点:确保实时性的架构特性、故障分离和故障恢复等功能。

图1 新西兰的ONTRACK安装了一个四频道RoIP装置,命名为ORC,作为IP网络和传统的VHF/IHF无线电网络之间的桥梁,用于促进列车**运行和追踪轨道工人的位置。

标准

二十年前,欧洲电工标准化委员会颁发了铁路应用标准EN 50126,它定义了可靠性、可用性、可维护性和**性的规范,同时颁布了用于铁路控制和保护系统软件的标准EN50128和用于发送信号的**相关的电子系统的标准EN 50129。

EN 50128:强调了软件架构的重要性:“软件架构是软件和软件**完整性等级开发的基本**策略。”规定如果要求SIL 3 或SIL 4的系统部署COTS(商用现成)软件,“应定义一个策略以检测COTS软件的故障并保护系统免于故障”。

可靠性和隔离性

在一个软件系统中,可靠性是可用性和可靠性的组合。这些品质主要取决于操作系统审计架构。

操作系统架构是整个系统可靠性的基础,它决定了将组件与不同的SIL要求进行分离的难度和成本。

例如,一个ATO系统可能包含了一个显示非关键信息的多媒体组件。该组件只需要达到SIL1或甚至SIL 0(EN标准为非**相关的软件定义了SIL 0)就可以了,而关键组件(处理与轨旁基础设施相关的通信、管理减速和制动,报警等)则需要SIL 3或更高的认证。一个有利于SIL 0组件分离的架构不能在系统的**关键部分上妥协:

a) 简化设计,允许以*少的集成工作为SIL 0组件使用COTS软件

b) eli消除了为满足SIL 3要求而产生的设计、构建和验证非关键组件的成本。

c) 由于它减少了**关键系统的范围,侧重于关键系统组件的开发和验证,使得整体系统更为**。

架构

支持可靠性保证的操作系统通常被称为实时操作系统(RTOS)。实时操作系统的架构是不同的。*常见的架构是实时执行、单片式和微内核。

实时执行

尽管已有50年历史,实时执行模式依然是许多实时操作系统的基础。在此模式中,所有软件组件—内核、网络协议栈、文件系统、设备驱动程序和应用程序均在单一的内存地址空间里运行。

虽然有效,但该架构有两大弱点。首先,任何模块中的单一指针错误均能破坏内核或任何其它模块所使用的内存,从而可能导致系统范围内的故障。其次,系统崩溃也许没有留下帮助识别错误的诊断信息。

宏内核

宏内核实时操作系统通过使用一个架构解决了内存错误所引起的系统崩溃的问题,在该架构里,用户应用程序作为内存保护进程而运行。

该架构保护了内核免于错误的用户代码,但内核组件仍旧与文件系统、协议栈和驱动程序共享地址空间。因此,这些服务中的任何一个错误都能让系统崩溃。例如,在一个Linux操作系统中,驱动程序组成75%的代码,每一行显示能达到内核的潜在错误。与实时执行操作系统一样,单片式操作系统架构的系统也许难于满足可靠性的要求。

微内核

在一个微内核实时操作系统中,应用程序、设备驱动程序、文件系统和网络协议栈存在于内核之外的一个独立的地址空间;它们即与内核分离而且彼此分离。某一个组件中的故障不会波及系统。此外,由于它同样以可预见的方式运行,因此系统能重启故障组件。

图2 微内核:组件彼此分离,一个组件的故障不会波及整个系统

对于**相关的系统,内核与其它组件彼此分离是有利的。不是所有的组件都需要实现系统的**关键部分所需的SIL。所要求的是较低级别的SIL组件能与**关键组件分离。

这种分离也能通过虚拟机实现(管理程序),但这种策略通常需要更强大的处理器,这限制了合适的处理器的选择并增加了成本。它也增加了系统的复杂程度,并可能影响实时性能。

实时操作系统的关键特点

微内核架构只是实现操作系统可靠性的一个特点。其它关键特点包括:

• 通过抢占低优先级的内核调用来满足实时性的承诺

• 由于优先级反转,防止不可预知的行为和系统故障

• 保证CPU资源调度的可用性以防止关键进程饥饿

• 利用软件看门狗监视进程,并在组件发生故障时采取纠正行动

你可能感兴趣: 嵌入式 图片
无觅相关文章插件,快速提升流量