OSEK VS AotoSAr OS
发布网友
发布时间:2024-10-07 20:22
我来回答
共1个回答
热心网友
时间:2024-11-04 14:23
在实时系统开发中,OSEK和AutoSAR OS是两种重要的标准。OSEK是一组用于分布式实时结构的标准,它涵盖操作系统(OS)、通信(COM)、网络管理(NM)和实现语言(OIL)。核心功能是提供固定的优先级调度,中断处理机制,以及如StartOS()和ShutdownOS()等启动和关机API,确保操作系统服务的稳定性。
AutoSAR OS建立在OSEK之上,它继承了OSEK的许多特性,比如中断优先级高于任务(ISR > Task)和保护措施。然而,AutoSAR OS在Scalability Class 1中*了Alarm Callbacks的使用,因为其效率较低。AutoSAR OS定义了一些OSEK OS未明确的行为,如SetRelAlarm()函数的参数处理和StartOS()的调用规则。此外,AutoSAR OS还扩展了OSEK的功能,如在启动和关闭操作前后提供中断管理服务,以及提供IncrementCounter()作为超时备用操作,允许在系统启动时自动启动绝对alarm。
AutoSAR OS根据功能需求分为Class1(基本计划调度)、Class2(增加定时保护)、Class3(增加内存保护)和Class4(集成了前三者的保护)。Class 3和4的模块在运行时需要使用扩展状态。总的来说,AutoSAR OS是OSEK OS的增强版,提供了更全面的系统管理功能,并保证了向后兼容性,使得为OSEK OS编写的程序可以在AutoSAR OS环境中运行。