理论教育 汽车嵌入式系统操作系统比较及应用

汽车嵌入式系统操作系统比较及应用

时间:2023-08-26 理论教育 版权反馈
【摘要】:OSEK/VDX[27]是一个多任务的操作系统,正在已成为欧洲汽车行业标准。ECC2规定了所有服务的实施。因此,定义了时间触发操作系统OSEKTime[27]。Rubus是另一个操作系统,它专门针对汽车行业和沃尔沃建筑设备。Rubus操作系统由三个部分组成:红核——管理执行离线调度时间触发任务;蓝仁——专门用于事件触发任务的执行;绿核——负责外部中断。“微软Windows汽车5.0”扩展了经典操作系统Windows CE,安装在雪铁龙赛纳汽车和宝马7系汽车上。

汽车嵌入式系统操作系统比较及应用

OSEK/VDX[27]是一个多任务的操作系统,正在已成为欧洲汽车行业标准。该标准分为四个部分:OSEK/VDX OS是内核本身的规范;OSEK/VDX COM关注任务之间的通信[和ECU的内部或外部(通信)];OSEK/VDX NM解决网络管理;最后,OSEK/VDX OIL是支持描述所有应用程序组件的语言。某些OSEK有针对性的应用受到苛刻的实时约束,所以OSEK支持的应用对象必须是静态配置。

OSEK/VDX OS系统提供对目标的服务,比如任务(“基本任务”,无阻塞点;“扩展的任务”,可以包括阻塞点)、事件、资源和警报。它提出了一个固定优先级调度策略(FP),应用于优先的或没有优先的任务,并结合降低的优先级上限协议的版本(PCP)[28,29],目的是避免由于专用资源访问带来的优先级反转或锁死。任务间的同步是通过单个事件和报警来实现的。OSEK/VDX规范的实施必须与四个一致性的类——BCC1、BCC2、ECC1和ECC2兼容,这四个类是根据支持的任务(只是基本的或基本/扩展的)、每个优先级的任务数量(只有一个或可能有几个)和重新激活计数器的约束(只有一个或可能有几个)来规定。BCC1定义了有限制的实施,旨在减少相应的内存占用空间、数据结构的大小和管理算法的复杂性。ECC2规定了所有服务的实施。MODISTARC项目(基于分布式架构的OSEK/VDX验证的方法和工具)[30]提供了相关测试方法和工具,来评估OSEK/VDX实施的顺应性。

为了描述一个应用程序的配置,OSEK联盟提供了一个特定的语言,称为OSEK/VDX OIL(OSEK实施语言)。这种语言允许(针对一个ECU)几个应用程序配置的描述,称为应用模式。例如,应用程序的配置可以指定为正常运行模式、诊断模式和下载模式。

对于关键应用程序的可靠性与容错,通常通过时间触发方法来取得[17]。因此,定义了时间触发操作系统OSEKTime[27]。它支持静态和时间触发的调度,并提供中断处理、调度、系统时间和时钟同步、本地消息处理和错误检测机制。由于这些服务,在OSEKTime上运行的应用程序是可以预见的。OSEKTime与OSEK/VDX兼容,且由用于通信服务的FTcom层来完成。应该指出的是,AUTOSAR基本软件的规范(第2章)是基于OSEK和OSEKTime服务的。OSEK/VDX标准的商业实施是可行的[27],且也开放了源码版本[31,32]。(www.daowen.com)

Rubus是另一个操作系统,它专门针对汽车行业沃尔沃建筑设备。它是由Arcticus系统研发的[33]。Rubus操作系统由三个部分组成:红核——管理执行离线调度时间触发任务;蓝仁——专门用于事件触发任务的执行;绿核——负责外部中断。至于OSEK/VDX OS,任务的配置必须定义成静态离线。

对于多媒体和远程信息处理应用程序来说,操作系统是通用的,如VxWorks(来自WinDriver)或Java机。“微软Windows汽车5.0”扩展了经典操作系统Windows CE(具有远程信息处理特色),安装在雪铁龙赛纳汽车和宝马7系汽车上。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈