AUTOSAR_EXP_PlatformDesign - 04.Operating System
【translated by sky8336, 2019.06.07, Shanghai】
04.Operating System
4.1 Overview
操作系统(OS)负责自适应平台上所有应用程序的运行时调度、资源管理(包括管理内存和时间限制)和进程间通信。操作系统与执行管理一起工作,执行管理负责平台初始化,并使用操作系统执行应用程序的启动和关闭。
自适应平台没有为高性能处理器指定新的操作系统。相反,它定义了一个执行上下文和用于自适应应用程序的操作系统接口(OSI)。
OSI规范包含的应用程序接口是ARA的一部分,ARA是Adaptive application的标准应用程序接口。操作系统本身很可能提供执行所需的其他接口,例如创建进程,EM需要它来启动应用程序。然而,提供这些功能的接口,包括其他接口,都不能作为ARA的一部分,并且被定义为依赖于平台实现。
OSI同时提供C和c++接口。在C程序的情况下,应用程序的主要源代码业务逻辑包括定义在POSIX标准中的c函数调用,即IEEE1003.13[1]中定义的PSE51。在编译过程中,编译器确定平台操作系统中的哪个C库提供了这些C函数,运行时应链接可执行的应用程序。
对于c++程序,应用程序软件组件的源代码包括c++标准及其标准c++库中定义的函数调用。
4.2 POSIX
市场上有几种操作系统,例如Linux,提供了POSIX兼容的接口。但是,与平台服务和基础相比,应用程序需要使用更受限制的操作系统API。
一般的假设是,用户应用程序应该使用PSE51作为操作系统接口,而平台应用程序可以使用全POSIX。如果在应用程序级别上需要更多的特性,它们将从POSIX标准中提取,而不是在可能的情况下重新指定。
Adaptive Platform Foundation和Adaptive Platform Services功能的实现可能会使用进一步的POSIX调用。特定调用的使用将对实现者开放,而不是标准化。
4.3 Scheduling
操作系统提供多线程和多进程支持。标准调度策略是SCHED_FIFO和SCHED_RR,它们由POSIX标准定义。允许使用其他调度策略,如SCHED_DEADLINE或任何其他特定于操作系统的策略,但限制是不能跨不同的AP实现移植这些策略。
4.4 Memory management
支持多进程的原因之一是为了实现不同功能集群和AA之间的“freedom of interferences”。OS对多进程的支持迫使每个进程位于一个独立的地址空间中,与其他进程隔离并受到保护。同一个可执行文件的两个实例在不同的地址空间中运行,这样它们可以共享相同的入口点地址和代码以及启动时的数据值,但是,数据将位于内存中的不同物理页面中。
4.5 Device management
设备管理将在POSIX PSE51接口下提供。细节参考POSIX 规范说明。
-----------------------
【end-2019.06.07】