Adaptive Platform AUTOSAR(AP)平台设计(3)——操作系统
Hello!大家好!
本篇是AP AUTOSAR平台设计(3)——操作系统
AP和CP相关资料获取和工具咨询、更多精彩内容欢迎订阅微信公众号“搞一下汽车电子”
整理不易,如果觉得不错,点赞分享支持一下吧~
微信:shactiontech
1.概述
操作系统(OS)负责Adaptive Platform上所有应用程序的运行时调度,资源管理(包括策略内存和时间限制)以及进程间通信。
执行管理负责平台的初始化,操作系统与执行管理协同工作,执行应用程序的启动和关闭。
Adaptive Platform没有为高性能处理器指定新的操作系统。而是定义了操作系统接口(OSI),供自适应应用程序使用。
OSI规范包含作为ARA(自适应应用程序的标准应用程序接口)一部分的应用程序接口。OS本身可能会提供执行管理启动应用程序所需的其他接口,例如创建进程。但是,提供此类功能的接口尤其不能作为ARA的一部分使用,并且应定义为与平台实现有关。
OSI提供C和C ++接口。对于C程序,应用程序的主要源代码业务逻辑包括POSIX标准中定义的C函数调用,即IEEE1003.13 [1]中定义的PSE51。在编译期间,编译器会确定平台操作系统中的哪个C库提供了这些C函数,并且应在运行时链接应用程序可执行文件。对于C ++程序,应用程序软件组件的源代码包括在C ++标准及其标准C ++库中定义的函数调用。
2.POSIX
市场上有几种操作系统,例如 提供POSIX兼容接口的Linux。但是,与平台Service和Foundation相比,应用程序对操作系统使用会更受限制。
一般的假设是,Application-Level类型的应用程序应使用PSE51作为OS接口,而Platform-Level类型的应用程序则可以使用完整的POSIX。
如果Application-Level类型的应用程序需要更多功能,这些功能将取自POSIX标准,并且在可能的情况下不会重新指定。
Adaptive Platform Foundation和Adaptive Platform Services功能的实现可以使用其他POSIX调用。特定调用的使用将对实施者开放,并且不会标准化。
3.调度
操作系统提供了多线程和多进程支持。标准调度策略是SCHED_FIFO和SCHED_RR,它们由POSIX标准定义。
允许使用其他调度策略(例如SCHED_DEADLINE或任何其他特定于操作系统的策略),但要注意的是,这可能无法在不同的AP产品上实现移植。
4.内存管理
支持多进程的原因之一是要实现不同功能集群和AA之间的“无干扰”。
OS的多进程支持迫使每个进程位于一个独立的地址空间中,并与其他进程分开并加以保护。同一可执行文件的两个Instance在不同的地址空间中运行,因此它们可以在启动时共享相同的入口点地址和代码以及数据值,但是,数据将位于内存中的不同物理页中。
5.设备管理
设备管理将在POSIX PSE51接口下提供。有关详细信息,请参阅POSIX规范。